[英]Access to http request body raw data
我正在尝试使用play框架来实现一个Web应用程序,以替代与旧的非浏览器旧版HTTP客户端接口的旧的http服务器实现。
该客户端是用Delphi编写的,它直接在请求的主体中发布数据,并带有一些有关该请求的标头信息。
我以为我会得到一些东西
request.body /* In the play controller */
但那里什么都没有。
请参见下面的代码:
public static void uploadPicture() {
InputStream data = request.body;
String fx = Play.getFile("").getAbsolutePath()+File.separator+"uploads"+File.separator+"test.jpg";
File f = new File(fx);
FileOutputStream moveTo = new FileOutputStream(fx);
try {
byte[] b = new byte[4096];
for (int x = 0; (data.read(b)) != -1;){
moveTo.write(b, 0, x);
}
} finally{
moveTo.close();
}
}
编辑 :澄清我的观点:我去了,当我获得request.getInputStream()
时,我在Eclipse HttpServlet
和doPost()
方法中创建了一个简单的Dynamic Web Project,它包含从旧客户端发送的文件。
播放对请求的主体有作用!?
我有什么选择?
谢谢。
伊尔凡
好的,这是Play 1.2.4中的错误。 我安装了最新版本1.2.5,并且一切正常可用。
您可以在控制器的request.body
中访问请求的原始正文。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.