java - 为什么要使用 multipart/form-data 而不是 application/octet-stream?

标签 java rest mime-types feign

我不清楚它们是什么,也不太了解何时使用它们。

例如,我有 REST 客户端,我想发送一个文件(.zip 文件),如果我使用这些类型中的任何一种,究竟会发生什么

  • application/octet-stream 我猜等于 application/zip,这只是为了向另一方提供有关数据传输的提示,文件以某种方式编码
  • multipart/form-data 以某种方式破坏数据,您可以传递具有特定 mime 类型的“多个数据”,文件以某种方式编码并且是多部分请求的一部分。在这种情况下,我不确定如何告诉 Feign 客户端请求是多部分的,而确切的部分是八位字节流

但是如果我只想发送一个文件,那么 exectly multipart 给我的八位字节流没有什么?

在这两个请求中,整个文件都以某种方式在内部进行了编码,对吧?处理方式有何不同。我看不出有什么好处。为什么 Feign 客户端教程使用 multipart 还是只是常见的做法?

此外,我发现您还需要以某种方式在服务器中启用整个多部分马戏团才能接收它。那有什么意义呢?

最佳答案

过去,我对.zip 文件使用application/zipapplication/octet-stream。对于您的情况,这些 header 中的任何一个都应该可以正常工作。

根据另一位评论者 -

"Multipart 用于在单个 HTTP 请求中发送多个部分(例如表单字段和一些文件),并指定文件名和编码。它不会将大文件拆分成多个部分。一个文件仍然只是 multipart 中的一个部分请求。在这两种情况下都可以包含 HTTP header 。”

以下线程也可能提供更多上下文:

Mutipart form data

URL encoded multipart form data

关于java - 为什么要使用 multipart/form-data 而不是 application/octet-stream?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58115852/

相关文章:

java - 当设备 GPS 关闭时获取移动设备的当前位置。移动网络应用程序

java - 为什么缺少 Java 权限时会出现 NPE?以及如何找出哪个权限?

java - JSoup - 将 onclick 函数添加到 anchor href

javascript - 如何使用 JavaScript 和 REST API 从嵌入式 esri map 获取多边形的坐标?

c# - JSON.net 的新手,示例代码

java - 设置 MimeMessage 的内容类型?

Java 1.8 和 tomcat 6.0.53 由 : java. io.EOFException 引起:SSL 对等点错误关闭

java - 从 JAX-RS Rest 服务以 JSON 形式返回异常

javascript - 将 mime Content-ID 添加到请求负载 (AJAX)

html - CSS 偶尔不会加载