是否有特殊的MIME类型(例如application/image
)可以让浏览器将响应解释为独立于图像类型的图像(pdf,gif,jpg)?
我有一台服务器可以自动为上传的图像生成没有扩展名的文件名。我想要避免的是存储它们的扩展并使用生成的ID将它们提供给clint。我想让浏览器知道它是一个图像,但没有指定文件扩展名。
答案 0 :(得分:7)
不,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”,浏览器会拒绝解析&amp;应用它们。