0

如何在一个响应中从 Java servlet 文件流和其他一些参数(例如 JSON)返回?我相信它是可以实现的,因为我们从 servlet 字节流返回,它可以包含文件流和 JSON 流。但是我认为自己尝试解析这样的请求很容易出错,所以我需要一些库来解析响应参数。我不想提出 2 个单独的请求..

4

3 回答 3

2

根据ServletResponseJava文档

  • 要在 MIME 正文响应中发送二进制数据,请使用 getOutputStream() 返回的 ServletOutputStream。
  • 要发送字符数据,请使用 getWriter() 返回的 PrintWriter 对象。
  • 要混合二进制和文本数据,例如,创建多部分响应,请使用 ServletOutputStream 并手动管理字符部分。

因此,您可以在输出流中组合并在处理响应时提取。

于 2013-07-09T14:54:25.350 回答
2

您可以将其全部作为 JSON 返回,将二进制流编码为 base64 并将其包含在 JSON 响应中。它不一定是有效的,但它取决于所涉及的大小。

于 2013-07-09T14:42:33.607 回答
0

您可以使用多部分。一部分用于您的 JSON,另一部分用于其他内容。

原理是构建您在同步/异步响应中返回的多部分MimeMessage 。

于 2013-07-09T14:35:42.073 回答