【问题标题】:Is there a generic image MIME type that modern browsers recognize?是否有现代浏览器可以识别的通用图像 MIME 类型?
【发布时间】:2013-11-15 18:40:27
【问题描述】:
是否有特殊的 MIME 类型(例如 application/image)可以让浏览器将响应解释为独立于图像类型(pdf、gif、jpg)的图像?
我有一台服务器可以自动为上传的图片生成不带扩展名的文件名。我想避免的是存储它们的扩展并仅使用生成的 ID 将它们提供给 clint。我想让浏览器知道它是一个图像,但不指定文件扩展名。
【问题讨论】:
标签:
image
http
cross-browser
mime-types
content-type
【解决方案1】:
不,MIME 类型的重点是在服务器级别识别资源的类型并允许客户端按原样处理它们。
有些图像文件类型没有二进制签名标记(例如:svg)。没有此标记会使没有 mimetype 或文件扩展名的文件难以识别。
例如exif_imagetype是一个识别GIF、JPEG、PNG、SWF、PSD、BMP、TIFF_II、TIFF_MM、JPC、JP2、JPX、JB2、SWC、IFF、WBMP、XBM、ICO但不识别的函数SVG 文件。
SVG 文件是 XML 文件,它以形状、线条和点的形式描述图像结构。所以它是一个文本文件,没有完整的正确 mime 类型声明它不仅是图像而且是 SVG 图像,它不能被视为图像。
<!-- how do we handle this if the server
does not give as a mime type header? -->
<img src="file.svg" />
<!-- we know it's an image but what to do
with it -->
在某些情况下,使用 php 生成 css 或 js 文件,扩展名为“*.php”,开发人员没有设置正确的“text/css”或“text/javascript”标头,可能是标头是“文本/纯文本”,浏览器将拒绝解析和应用它们。