如何使用 REST 使用元数据上传二进制文件(照片等)

How to upload binary file(Photos etc ) with Meta Data using REST

一种方法是将二进制数据转换为 Base64 并将其作为 MediaType.APPLICATION_JSON.

与元数据一起发送

问题是客户端必须在发送前将二进制数据转换为 Base64。

我还尝试通过 REST 使用 MediaType.APPLICATION_OCTET_STREAM 格式发送。这仅适用于二进制数据。

一个选项是在 headers 中发送元数据,同时使用 MediaType.APPLICATION_OCTET_STREAM

有没有更好的方法?

谢谢

使用multipart/form-data。这就是它的意义所在。不确定您使用的是哪个 Jersey 版本,但这里是 Jersey 2.x Multipart support. Here's for 1.x 的 link 文档(信息不多)。您需要搜索使用 multipart 与 Javascript 客户端(那里有大量信息)

  • 这是在服务器端和客户端 API 使用 Jersey 2.x 的一个很好的 example
  • 这是 球衣 1.x。你可以看到API它没有太大的不同。