使用json payload netty上传文件

时间:2016-06-13 16:38:17

标签: java json file-upload netty multipartform-data

我使用netty 4进行多部分文件上传,但不知道如何将jsaon正文与上传文件一起发送(.jpg / .pdf / .etc。)

请帮助我使用netty 4和Java实现此功能。 非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

问题是JSON不能很好地支持文件上传,因此您首先需要决定如何编码文件&元数据。

您基本上有四种选择:

  1. 使用表单编码发送文件而不是json。这有更好的文件上传支持。

  2. Base64对json中的文件进行编码。这将使文件大小增加约33%。

  3. 首先在multipart / form-data POST中发送文件并使用返回值指定要与json数据一起发送的id是不同的请求

  4. 首先发送json数据并返回一个url以将文件上传到。

  5. 我建议不要使用选项2,因为它还需要在内存中操作文件。使用multipart / form-data会让netty将文件保存到文件系统中,如果它很大,那么你就不必将它存储在内存中。