图像被FileUpload损坏

时间:2013-08-10 21:27:46

标签: java http post webserver netty

我需要创建一个HTTP服务器来接收并向客户端发送图像和文本(少于100个字符)。我打算使用JSON或Google Protocol Buffer。

我研究了Netty 4.0.6软件包中的“HttpUploadServer”示例。

然后,我删除了处理程序中的所有内容,除了处理多部分POST请求的内容。

这是我正在努力的部分。

private void writeHttpData(InterfaceHttpData data) {
    FileUpload fileUpload = (FileUpload)data;
    try {
        File file = fileUpload.getFile();
        file.renameTo(new File("C:\\savedFiles\\"+file.getName()));
    } catch (IOException e) {
        e.printStackTrace();
    }
}

当我调用getFile()时,它会给我一个损坏的文件。我用zip文件和图像(png,jpeg)测试了它。 (顺便说一下。我正在使用Postman插件来测试服务器,所以错误的标题不是我的问题)

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

在Github上找到答案

更改

private static final HttpDataFactory factory = new DefaultHttpDataFactory(DefaultHttpDataFactory.MINSIZE);

private static final HttpDataFactory factory = new DefaultHttpDataFactory(false);

private static final HttpDataFactory factory = new DefaultHttpDataFactory(true);

对我来说,设置它真的有效!