Answers:
通常没有,但是此答案后面有一些例外记录。
您需要Mime Type才能知道如何处理文件(而不必读取文件头)。
笔记:
并非所有图像文件都具有标识其类型的标头。
例如,SVG文件只是XML文件。因此,如果没有正确的mimetype或扩展名,就无法正确识别文件的类型。
Mime类型指定为Content-Type / subtype
没有Mime类型image/generic
(有关IANA注册图像子类型的完整列表,请参见下面的“更多信息”)。
没有一个 Content-Type/subtype
涵盖多种图像格式。
从理论上讲,您可以使用未知的子类型,例如image/xyz
W3C明确表示:
“ Content-Type of image/xyz
足以告诉用户代理数据是图像,即使用户代理不知道特定图像格式也是如此xyz
...”这样的操作对于无法识别的文本子类型可能是合理的,但是不适用于无法识别的图像或音频子类型 “
通常,顶级Content-Type用于声明数据的常规类型,而子类型为该数据类型指定特定格式。
因此,即使用户代理不知道特定图像格式“ xyz”,Content-Type“ image / xyz”也足以告诉用户代理数据是图像。
此类信息可用于例如确定是否向用户显示来自无法识别的子类型的原始数据-这种操作对于文本的无法识别的子类型可能是合理的,但对于图像或音频的无法识别的子类型则可能是合理的。
因此,已注册的音频,图像,文本和视频子类型不应包含真正属于其他类型的嵌入信息。此类化合物类型应使用“多部分”或“应用”类型表示。
image/*
特殊情况下使用通配符吗?这样就可以将其用于我的目的而无需指定单个文件扩展名/ MIME?
是。如您所指出的,当为KDE和GNOME桌面环境指定“桌面条目”时,可以使用通配符。
但是,请注意MimeType
不建议使用Key = ,因为有一个新的标准。
Type=MimeType
不推荐使用,因为现在有一个新的标准,有关更多信息,请参见Shared MIME-info Database规范。结果,也不建议使用密钥模式(与MIME类型相关联的各种文件扩展名)和DefaultApp(与该MIME类型相关联的默认应用程序)。
您也可以对IIS中的mime类型使用通配符,但建议不要这样做:
您还可以通过添加通配符(*)MIME类型,将IIS配置为提供未定义的文件类型。
不要在生产服务器上使用通配符MIME类型。这样做可能导致IIS提供无法识别的文件并向用户显示敏感信息。
通配符MIME类型用于测试目的,或者用于Internet Server API(ISAPI)筛选器专门用于处理这些通配符方案的情况,例如自定义身份验证ISAPI。
content-type/subtype
可以涵盖多种图像格式。
Type=MimeType
已弃用,因为现在有一个新的标准,请参阅Shared MIME-info数据库规范以获取更多信息。结果,密钥模式(与MIME类型)和DefaultApp(与此MIME类型关联的默认应用程序)也已弃用。”
根据此SO-Answer,没有通用的MIME类型。问题是MIME-Type始终由Type,Subtype和可选Parameter Type/Subtype; Parameter
(请参见此处)组成。您只想使用类型,但是根据定义,需要一个子类型,并且没有通用子类型。可以在此处找到所有图像类型的列表。
gif
和jpeg
,而这个名单sitepoint.com/web-foundations/mime-types-complete-list表明他们image/gif
和image/jpeg
分别。
image/*
工作(就像浏览器一样)吗?