未知的文件类型MIME?

如果上传的文件没有扩展名,我是否必须指定MIME类型? 换句话说,是否有默认的通用MIME类型?


您可以使用application/octet-stream处理未知类型。

RFC 2046在4.5.1节中声明:

“八位字节流”子类型用于表示一个正文包含任意的二进制数据。


RFC资源:

我们应该使用RFC-7231(HTTP / 1.1语义和内容)作为参考,而不是RFC-2046(媒体类型),因为问题很明显是关于HTTP内容类型。

RFC-2046也没有明确定义未知类型,但RFC-7231确实如此。

简短的回答:

不要发送未知数据的MIME类型。
更清楚的是:根本不要使用Content-Type头。

参考文献:

RFC-7231
超文本传输​​协议(HTTP / 1.1):语义和内容
3.1.1.5。 内容类型

生成包含有效载荷主体的消息的发送者应该
在该消息中生成一个Content-Type头域,除非
所包含的表示的预期媒体类型是未知的
发件人。

如果你不确定,那部分清楚地告诉你要把它排除在外。 它还告诉接收者可以假定该类型是应用/八位字节流,但事情是它可能也是别的。

那有什么不同呢?

RFC-2046
4.5.1。 八位字节流子类型

建议采取的措施为执行收到一个
“application / octet-stream”实体只是简单地提供数据
在一个文件中,任何Content-Transfer-Encoding撤销,或者也许是
用它作为用户指定进程的输入。

而且,如上所述:

RFC-7231
3.1.1.5。 内容类型

如果Content-Type头字段不存在,则接收者可以假定媒体类型为“application / octet-stream”
([RFC2046],第4.5.1节)或检查数据以确定其类型。

结论:

如果你将它定义为“application / octet-stream”,那么你告诉你知道它是“application / octet-stream”。

如果你没有定义它,那么你告诉你,你不知道它是什么,然后决定接收器和接收器可以检查它是否像鸭子一样走路......


我更喜欢application/unknown ,但结果肯定会与application/octet-stream

链接地址: http://www.djcxy.com/p/45311.html

上一篇: Unknown file type MIME?

下一篇: Merge / convert multiple PDF files into one PDF