我不清楚它们是什么,也不太了解何时使用它们。
例如,我有 REST 客户端,我想发送一个文件(.zip 文件),如果我使用这些类型中的任何一种,究竟会发生什么
- application/octet-stream 我猜等于 application/zip,这只是为了向另一方提供有关数据传输的提示,文件以某种方式编码
- multipart/form-data 以某种方式破坏数据,您可以传递具有特定 mime 类型的“多个数据”,文件以某种方式编码并且是多部分请求的一部分。在这种情况下,我不确定如何告诉 Feign 客户端请求是多部分的,而确切的部分是八位字节流
但是如果我只想发送一个文件,那么 exectly multipart 给我的八位字节流没有什么?
在这两个请求中,整个文件都以某种方式在内部进行了编码,对吧?处理方式有何不同。我看不出有什么好处。为什么 Feign 客户端教程使用 multipart 还是只是常见的做法?
此外,我发现您还需要以某种方式在服务器中启用整个多部分马戏团才能接收它。那有什么意义呢?
最佳答案
过去,我对.zip
文件使用application/zip
或application/octet-stream
。对于您的情况,这些 header 中的任何一个都应该可以正常工作。
根据另一位评论者 -
"Multipart 用于在单个 HTTP 请求中发送多个部分(例如表单字段和一些文件),并指定文件名和编码。它不会将大文件拆分成多个部分。一个文件仍然只是 multipart 中的一个部分请求。在这两种情况下都可以包含 HTTP header 。”
以下线程也可能提供更多上下文:
关于java - 为什么要使用 multipart/form-data 而不是 application/octet-stream?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58115852/