0

src我想知道如果标签属性中指定的文件名<img>与实际图像格式不同是否有任何影响

例如,我可以有一个带有扩展名的图像

  <img src="avatar.pdf" alt="" />

或者

  <img src="avatar.html" alt="" />

它仍然有效。

Content-Type在每种情况下,响应标头中的内容显然不同,但我猜网络浏览器会忽略它。

鉴于有这么多平台和网络浏览器版本,有什么影响吗?

背景:

我问这个的原因是因为我正在开发一个 Web 应用程序,您可以在其中创建带有图像的 HTML 内容。可以在不同的地方引用相同的图像(用户可以从存储库中选择图像)。我需要让用户替换图像,但不需要系统重新保存所有使用该图像的 HTML 页面。图像路径必须基于在数据库中跟踪的 id。但是问题在于替换图像时的文件扩展名。我的想法是保留没有任何扩展名的图像文件,即:

  <img src="/Content/Images/1289371" alt="" />
4

2 回答 2

0

可能重复:我可以在 <img> 中使用没有扩展名的图像吗?

简短的回答:

响应标头中的 Content-Type 在每种情况下都明显不同,但我猜网络浏览器会忽略它。

=> 不,它没有。

浏览器最初不会查看文件名,它们会查看 HTTP 服务器响应中 Content-type 标头中列出的 MIME 类型。如果内容类型是 image/jpeg、png 或 gif 等,一切都很好,它会愉快地渲染图像。

如果没有有效的 MIME 类型,一些浏览器会尝试猜测该类型是什么。他们将查看被请求的对象的扩展名,或者查看前几个字节。如果失败,那么你会得到一个 redex。

所有功劳归于whatsisname

于 2013-09-05T22:32:09.133 回答
0

我认为网络浏览器会检查这些文件的二进制内容并忽略扩展名等。

只检查浏览器的第一个字节以查找标头非常简单。

于 2013-09-05T22:33:43.530 回答