我需要创建一个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插件来测试服务器,所以错误的标题不是我的问题)
有没有办法做到这一点?
答案 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);
对我来说,设置它真的有效!