【问题标题】:Uploading image mime-type application/jpg上传图片 mime-type application/jpg
【发布时间】:2017-11-02 17:31:59
【问题描述】:

我们办公室里有几台电脑,在测试其中一台上传网站图片时,检测到的 mime 类型是“application/jpg”或“application/png”,而它应该是“image/jpg”和“图像/PNG”。执行此操作的浏览器是 Internet Explorer v11.0 和 Edge v40。其他电脑上的版本相同,但 mime 类型没问题(image/)。它从哪里得到图像 mime-type 是 application/ 的想法?

上传元素没什么特别的(由外部按钮触发):

<input style="display:none" id="upload_damage_image" type="file" name="file[0]">

【问题讨论】:

  • 没有解决办法,但有人在这里遇到同样的问题:superuser.com/questions/942793/…
  • 是的,看到了,不幸的是他们没有解决它,而且它已经有一年多了:(
  • 您是否安装了其他 Web 浏览器或图像编辑器。这可能已更改文件关联。在 Windows 10 中,您可以通过文件扩展名设置默认程序。您安装的其他软件可能已更改注册表设置。使用 Irfanview 打开图像文件...如果 mime-types 与标头 mime-signature 不匹配,它会抱怨并提供将它们转换回上次保存的 mime-type.MSIE 浏览器使用 mime 类型嗅探...如果这些文件最初是从网站下载的,可能是该网站服务器错误地配置了错误的 mime 类型。
  • 您能否发布带有您的问题的图片...这将允许我们检查他们的 mime 签名。
  • 您可以尝试(否则)将文件输入元素上的接受属性设置为 accept="image/*".... 您应该注意到文件打开对话框随后在测试中以不同方式过滤浏览器。

标签: image internet-explorer file-upload mime-types microsoft-edge


【解决方案1】:

我们最近遇到了这个问题,原因是 Autodesk Pixlr 将注册表 HKLM\SOFTWARE\Classes.jpg 中的字符串值内容类型从“image/jpeg”覆盖为“application/jpeg”。

已卸载 Autodesk Pixlr,但它实际上删除了内容类型值,而不是恢复到 image/*.

使用 Regshot 比较安装 Autodesk Pixlr 前后的注册表。确定以下更改的条目:

HKLM\SOFTWARE\Classes.bmp\内容类型:“应用程序/bmp” HKLM\SOFTWARE\Classes.gif\内容类型:“应用程序/gif” HKLM\SOFTWARE\Classes.jpeg\内容类型:“应用程序/jpeg” HKLM\SOFTWARE\Classes.jpg\内容类型:“应用程序/jpg” HKLM\SOFTWARE\Classes.png\内容类型:“应用程序/png” HKLM\SOFTWARE\Classes.tif\内容类型:“应用程序/tif” HKLM\SOFTWARE\Classes.tiff\内容类型:“应用程序/tiff”

所以再次卸载它,备份注册表并在下面创建正确的条目:

HKLM\SOFTWARE\Classes.bmp\内容类型:“图像/bmp” HKLM\SOFTWARE\Classes.gif\内容类型:“图像/gif” HKLM\SOFTWARE\Classes.jpeg\内容类型:“图像/jpeg” HKLM\SOFTWARE\Classes.jpg\内容类型:“图像/jpeg” HKLM\SOFTWARE\Classes.png\内容类型:“image/png” HKLM\SOFTWARE\Classes.tif\内容类型:“图像/tiff”
HKLM\SOFTWARE\Classes.tiff\内容类型:“图像/tiff”

这解决了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-16
    • 2018-05-08
    • 2012-04-16
    • 1970-01-01
    • 2018-02-18
    • 1970-01-01
    相关资源
    最近更新 更多