Javascript 文件API返回";无效/八位字节流“;用于Firefox中的pdf文件

Javascript 文件API返回";无效/八位字节流“;用于Firefox中的pdf文件,javascript,firefox,mime-types,jquery-file-upload,html5-filesystem,Javascript,Firefox,Mime Types,Jquery File Upload,Html5 Filesystem,我正在做文件上传,检查浏览器中的文件mime类型。它使用jQuery文件上传插件,除了一个用户外,在任何地方都能正常工作 出于某种原因,file.type(html5文件api)为pdf文件返回“无效/octet流”(通常是“应用程序/pdf”)。Pdf文件很简单,可以在这台电脑上打开,没有任何问题 环境:Windows7和Firefox40。不在chrome或explorer中复制。尝试删除(或重命名/移动,用于测试)受影响Firefox浏览器中的文件 (在Windows下,通常可以在类似于c

我正在做文件上传,检查浏览器中的文件mime类型。它使用jQuery文件上传插件,除了一个用户外,在任何地方都能正常工作

出于某种原因,file.type(html5文件api)为pdf文件返回“无效/octet流”(通常是“应用程序/pdf”)。Pdf文件很简单,可以在这台电脑上打开,没有任何问题

环境:Windows7和Firefox40。不在chrome或explorer中复制。

尝试删除(或重命名/移动,用于测试)受影响Firefox浏览器中的文件

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

如果PDF上传在2007年首次报告(,2006年报告),那么您会遇到这种情况。简言之,任何用户从中下载文件的网站都有可能恶意或意外/不知情地损坏MimeTypes.rdf文件的扩展名

你可以做的事情:

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