我想知道如果src
标签的<img>
属性中指定的文件名与实际图片格式不同,是否有任何影响
<img src="avatar.pdf" alt="" />
或
<img src="avatar.html" alt="" />
它仍然有效。
响应标头中的 Content-Type
在每种情况下都明显不同,但我猜网络浏览器会忽略它。
鉴于有这么多平台和网络浏览器版本,有什么影响吗?
背景:
我问这个的原因是因为我正在开发一个Web应用程序,您可以在其中使用图像创建HTML内容。可以在不同位置引用相同的图像(用户可以从存储库中选择图像)。我需要让用户替换图像,但不需要系统重新保存使用该图像的所有HTML页面。图像路径必须基于在数据库中跟踪的id。但问题是更换图像时文件扩展名。我的想法是保留没有任何扩展名的图像文件,即:
<img src="/Content/Images/1289371" alt="" />
答案 0 :(得分:0)
可能重复:Can I use images without extension in <img>?
简短回答:
响应标题中的Content-Type在每种情况下都明显不同,但我猜网页浏览器会忽略它。
=&GT;不,它没有。
浏览器最初不查看文件名,它们会查看HTTP服务器响应中Content-type标头中列出的MIME类型。如果内容类型是image / jpeg,或png或gif或其他什么东西,那么事情就会很好,它会很乐意渲染图像。
如果没有有效的MIME类型,某些浏览器会尝试猜测类型是什么。他们将查看请求对象的扩展,或者他们将查看前几个字节。如果失败了,那么你会得到一个重新索引。
归功于 whatsisname
答案 1 :(得分:0)
我认为webbrowser将检查这些文件的二进制内容并忽略扩展等。
只需检查浏览器的第一个字节就可以查找标题。