访问HTTP请求主体原始数据



我正在尝试使用Play Framework来实现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();
        }
    } 

编辑:为了澄清我的观点:我去了,我在Eclipse HttpServletdoPost()方法中创建了一个简单的动态Web项目,当我获得request.getInputStream()时,它包含从传统客户端发送的文件。

Play对请求的正文做了一些事情!

我有什么选择?

谢谢。

irfan

好吧,这是播放1.2.4的错误。我安装了最新版本1.2.5,一切都可以使用。

您可以在控制器中的request.body中访问请求的原始主体。

相关内容

  • 没有找到相关文章

最新更新