我正在开发一个Web应用程序,用户可以使用经典文件选择器添加文件。
由于不支持所有文件格式,我使用以下代码根据其mimetypes过滤它们:
var fileChooser = $("#fileInputChooser")[0];
var valid = fileChooser != undefined && fileChooser.files.length > 0
if(valid) {
valid = _.every(fileChooser.files, function(file) {
return SupportedMimeTypes[file.type]!=undefined
})
}
我今天发现,有时,我的PDF文件无法识别,应该在哪里。
实际上,我的SupportedMimeTypes
数组包含以下内容
{
text/x-pdf: Object,
text/pdf: Object,
applications/vnd.pdf: Object,
application/pdf: Object,
application/x-pdf: Object,
application/acrobat: Object,
application/vnd.ms-powerpoint: Object,
application/vnd.openxmlformats-officedocument.presentationml.presentation: Object,
application/vnd.ms-excel: Object,
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet: Object,
9 de plus…
}
该文件的指示mimetype(如Firefox调试器所示)是""application/pdf""
。等等......
这些双引号到底是什么意思? 他们来自哪里 ?它是Firefox的bug吗? 似乎是这样,因为相同的JS代码适用于Chrome。
我是否应该通过从我的mime类型中删除那些不需要的字符来使用典型的JS修复程序?或者它是一种“更清洁”的方式?