我正在测试上传插件文件的上传限制,但我似乎无法让它接受.docx文件。在文档中(http://www.uploadify.com/documentation/uploadifive/filetype/)我遵循了说明(除了一个小错误-管道"|"字符不起作用),并使用了它所指的介质类型(http://www.iana.org/assignments/media-types/media-types.xhtml)。似乎没有其他文件类型会导致问题,例如.doc、.xlsx.
有没有解决方案,我已经检查了多个来源,并且据我所知mime类型(application/vnd.openxmlformats-officedocument.wordprocessingml.document)是正确的?
<h1>UploadiFive Demo</h1>
<form>
<div id="queue"></div>
<input id="file_upload" name="file_upload" type="file" multiple="true">
<a style="position: relative; top: 8px;" href="javascript:$('#file_upload').uploadifive('upload')">Upload Files</a>
</form>
<script type="text/javascript">
$(function() {
$('#file_upload').uploadifive({
'auto' : false,
'checkScript' : 'check-exists.php',
'queueID' : 'queue',
'uploadScript' : 'uploadifive.php',
'fileType' : ['application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml','application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],
'onUploadComplete' : function(file, data) { console.log(data); },
'onError' : function(errorType)
{
alert('Error: ' + errorType);
},
});
});
</script>
问题是Firefox将MIME类型"application/vnd.ms word.docent.12"分配给该文件,而不是将"application/vnnd.openxmlformats officedocument.wordprocessingml.docx"分配给.docx文件。Chrome和其他可能使用正确的浏览器。
这篇文章(如何在上传前用javascript检查文件MIME类型?)对了解浏览器如何处理它很有帮助。