【问题标题】:Browser support: png files with jpg extension浏览器支持:带有 jpg 扩展名的 png 文件
【发布时间】:2015-11-26 14:49:42
【问题描述】:

在使用 PrestaShop 1.6 时,即使您将其设置为将所有图像存储为 png,而实际上它们是,PS 总是添加 .jpg 扩展名而不是正确的扩展名 (.png),但它仍然可以工作(至少在铬)。

所有常见的浏览器都根据文件头来处理图像吗?或者是否有一些我需要考虑和修复核心(我真的想避免)以使用正确的扩展的主要浏览器?

谢谢

【问题讨论】:

    标签: html image cross-browser prestashop-1.6


    【解决方案1】:

    浏览器根本不关心文件扩展名,但他们关心 HTTP 标头中的内容类型。服务器通常使用文件扩展名来确定在 HTTP 标头中放入什么 MIME 类型,因此它最终可能会发送具有错误 MIME 类型的图像。

    但是,一旦浏览器确定 MIME 类型是图像,它们就不会对图像格式挑剔。可能有一些特殊情况,但 PNG 和 JPEG 文件在文件开头都有一个易于识别的签名,因此浏览器可以很容易地看到实际的格式。

    【讨论】:

    • 如果我在 Chrome 开发者工具中打开图像 - 资源它具有 mime 类型 image/jpeg 但它仍然显示得很好 - 你能告诉我(我们)哪些主要浏览器可能会失败吗?跨度>
    • HTML5 标准的这一部分建议浏览器不应该关心图像的特定 MIME 类型,而是检查图像标题:"如果提供的 MIME 类型是用户代理,设matched-type为执行图像类型模式匹配算法的结果,资源头为待匹配字节序列。" mimesniff.spec.whatwg.org/…
    • 好的,所以我们可以假设所有现代浏览器都支持这种行为 :) 谢谢
    • 我可以确认 Chrome、Internet Explorer、Paint.NET、MS Paint 和 Windows 10 照片应用程序似乎都不关心文件扩展名是 png 还是 jpg。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    • 2015-08-21
    • 1970-01-01
    • 2011-06-08
    • 2023-03-31
    • 2011-12-21
    相关资源
    最近更新 更多