【问题标题】:File API returns "invalid/octet-stream" for pdf file in Firefox文件 API 在 Firefox 中为 pdf 文件返回“无效/八位字节流”
【发布时间】:2015-12-08 00:45:48
【问题描述】:

我正在上传文件,它会检查浏览器中的文件 mime 类型。它使用 jQuery File Upload Plugin,除了一位用户外,在任何地方都可以正常工作。

由于某种原因,file.type(html5 文件 api)为 pdf 文件(通常是“application/pdf”)返回“invalid/octet-stream”。 pdf文件很简单,可以在这台电脑上打开,没有任何问题。

环境:Windows 7 和 Firefox 40。未在 chrome 或资源管理器中复制。

【问题讨论】:

    标签: javascript firefox mime-types jquery-file-upload html5-filesystem


    【解决方案1】:

    尝试删除(或重命名/移动,用于测试目的)受影响 Firefox 的 profile folder 中的文件 MimeTypes.rdf

    (在 Windows 下,这通常可以在类似于 c:\Users\[name]\AppData\Roaming\Mozilla\Firefox\Profiles\[some id].default 的路径下找到 - 或者只需搜索“MimeTypes.rdf "。)

    如果之后 PDF 上传工作正常,您会遇到 2007 年首次报告的 a Firefox bugbasically the same here,2006 年报告)。简而言之,用户曾经从其下载文件的任何网站都有可能会损坏 MimeTypes.rdf 文件的下载文件扩展名——恶意或意外/不知不觉。

    你可以做的事情:

    1. Vote for the Firefox bug!
    2. 快速修复,使其立即为一个用户工作:让用户删除他们的 MimeTypes.rdf 文件。 Firefox 将在下次启动时创建一个新的“新鲜”的,但这将清除用户随时间创建的所有 MIME 类型/应用程序关联。此外,这只会在用户从其他网站下载下一个 PDF 文件(该文件再次损坏 MimeTypes.rdf 文件)之前有所帮助。
    3. 使用“用户代理”标头确定文件是否从 Firefox 上传。如果是这样并且 MIME 类型与您希望接受的任何内容都不匹配,请仔细检查文件名的扩展名,如果扩展名与您接受的文件类型(在您的情况下为“.pdf”)匹配,则无论如何都接受该文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-05
      • 2023-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-03
      • 2020-09-08
      • 2020-07-09
      相关资源
      最近更新 更多