我一直在尝试为我的文件上传器创建一个自定义文件过滤器,但我注意到在Firefox中,我使用的过滤器在"文件上传"对话框中不显示.jpeg文件扩展名
例如,我的过滤器javascript'fileType:["images/jpeg","images/png","application/pdf"],
这将在HTML中转换为accept="images/jpeg,images/png,application/pdf"
这个过滤器在Chrome和IE中正常工作,它们在对话框中显示为"自定义文件",它们都显示.jpeg扩展名,并且只显示那些允许的文件。
但是,该过滤器在Firefox中不显示,它显示为"所有文件(.)",然后在"所有文件"下方的下拉列表中显示过滤器为"所有支持的类型(*.jpg;*.png;*.pdf;",并且它忽略.jpeg扩展名,因此不显示扩展名为.jpeg的文件
我已经检查了Mime类型,我使用的是正确的,我甚至尝试过使用image/pjpeg
我在bugzilla论坛上找到了一些关于这方面的信息,但找不到解决方案或围绕工作
我已经检查了IIS7允许的Mime类型,在中没有发现问题
任何解决方案或选项都将受到的赞赏
欢呼
Lee
看起来,将过滤器视为非默认过滤器是有意的
https://bugzilla.mozilla.org/show_bug.cgi?id=826185#c3
[…]然而,Jonas在评论21中表示,我们应该在第一步将这些过滤器设为非默认过滤器,等待用户的反馈(比如你的反馈)来改变这种行为。[…]
https://bugzilla.mozilla.org/show_bug.cgi?id=565274#c21
[…]正如我所说,我可以进行mimetype服务查找,并在此基础上创建一个非默认过滤器。这似乎是一个很好的第一步,它让我们有机会获得关于映射效果的反馈。[…]
这整件事似乎有一些bug,在Windows7上的Firefox 22中,它在image/jpeg
的过滤器中显示了*.jpg,*.jpg
,可能应该是*.jpg,*.jpeg
。在当前的夜间25.0a1中,它只显示*.jpg
,而application/pdf
根本无法识别。
就I所知,没有办法解决任何这种行为,而且它可能取决于操作系统。
输入类型"file"目前在FF 22+中似乎出现了问题(2013年7月)。最近更改为在表单背景下显示黑色文本,bg也可能是黑色的(或者也是黑色的!),这使得这种输入类型在FF中几乎不可用。所以我的答案是Firefox犯了这个严重的错误,我们对此无能为力,只能向Mozilla工作人员报告,希望他们能接受。