12

是否有一种特殊的 MIME 类型(例如application/image)可以使浏览器将响应解释为独立于图像类型(pdf、gif、jpg)的图像?

我有一个服务器可以自动为上传的图像生成没有扩展名的文件名。我想避免的是存储它们的扩展并仅使用生成的 ID 将它们提供给 clint。我想让浏览器知道它是一个图像,但不指定文件扩展名。

4

1 回答 1

8

不,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”标题,可能标题为“text” /plain”,浏览器将拒绝解析和应用它们。

于 2013-11-05T09:29:04.750 回答