哪个MIME类型使用二进制文件'是特定于我的程序?

我的程序使用它自己的二进制文件类型,所以我假设我不能使用MIME类型文本/纯,因为它不是一个7位ASCII文件。

我应该叫它"application/myappname"吗?

223958 次浏览

我推荐application/octet-stream,因为RFC2046说““八字节流”子类型用于指示主体包含任意二进制数据”和“对于接收到“应用程序/八字节流”实体的实现的建议操作是简单地提供将数据放入文件[…]”。

我认为这样你将从任意程序得到更好的处理,当遇到未知的mime类型时可能会呕吐。

mimetype头文件被浏览器识别,目的是(快速)可能识别一个处理程序来使用下载的文件作为目标,例如,PDF将被下载,您的adobereader程序将以PDF文件的路径作为参数执行。

如果你需要写一个浏览器扩展来处理你下载的文件,通过你的操作系统,或者你只是想让你的项目更“专业”,请继续选择一个独特的mimetype供你使用, 这不会有什么区别,因为操作系统没有手柄来打开它(一些浏览器很少捆绑插件,例如新的谷歌Chrome版本有内置的pdf阅读器),

如果你想确保文件会被下载,看看这个答案:https://stackoverflow.com/a/34758866/257319

如果你想让你的文件类型特别有条理,在文件的前几个字节添加几个字母可能是值得的,例如,每个JPG文件的文件开头都有这样的字母:

.

如果你能承受4或8字节的跳转,这对你在剩下的部分中非常有帮助

:)

你可以用:

application/x-binary

什么是MIME类型

mime类型列表

见explain .

根据规范rfc2045 #内容类型报头字段的语法 application/myappname是不允许的,但application/x-myappname是允许的,听起来最适合你的应用程序对我来说。