如果上传的文件没有扩展名,我是否必须指定MIME类型? 换句话说,是否有默认的常规MIME类型?
答案 0 :(得分:162)
答案 1 :(得分:33)
我们应该使用RFC-7231(HTTP / 1.1语义和内容)作为参考而不是RFC-2046(媒体类型),因为问题显然是关于HTTP Content-Type。
RFC-2046也没有明确定义未知类型,但RFC-7231没有。
不要为未知数据发送MIME类型 更明确一点:根本不要使用Content-Type标头。
RFC-7231
超文本传输协议(HTTP / 1.1):语义和内容
3.1.1.5. Content-Type生成包含有效负载主体的消息的发送方应该是 除非中,否则在该消息中生成Content-Type头字段 所包含的表示的预期媒体类型对于未知 发件人。
如果您不确定,那么该部分会明确告诉您将其遗漏。 它还告诉接收者可以假设该类型是application / octet-stream,但事情是它也可能是其他东西。
RFC-2046
4.5.1. Octet-Stream Subtype接收到的实施的建议操作 "应用程序/八位字节流"实体只是简单地提供数据 在文件中,任何Content-Transfer-Encoding撤消,或者也许是 用它作为用户指定过程的输入。
并且,如上所述:
RFC-7231
3.1.1.5. Content-Type如果Content-Type标头字段不存在,则为收件人 可以假设媒体类型为" application / octet-stream"
([RFC2046],第4.5.1节)或检查数据以确定其类型。
如果您将其定义为" application / octet-stream"然后你告诉你知道它是" application / octet-stream"。
如果你没有定义它,那么你告诉你不知道它是什么,然后决定接收者和接收者然后可以检查它是否像鸭子一样行走......
答案 2 :(得分:12)
我更喜欢application/unknown
,但结果肯定与application/octet-stream