-1

我需要制作一个 HTTP 服务器来接收和发送图像和文本(少于 100 个字符)到客户端。我打算使用 JSON 或 Google 协议缓冲区。

我研究了 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 插件来测试服务器,所以错误的标题不是我的问题)

有没有办法做到这一点?

4

1 回答 1

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);

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

于 2013-08-12T01:40:27.513 回答