未知的文件类型MIME?

时间:2009-07-24 06:25:11

标签: mime mime-types default-value

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

3 个答案:

答案 0 :(得分:162)

您可以将application/octet-stream用于未知类型。

第4.5.1节中的

RFC 2046个州:

  

“octet-stream”子类型用于   表明身体包含   任意二进制数据。

答案 1 :(得分:33)

RFC资源:

我们应该使用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

相同