我正在处理一个小文件上传脚本(学习经验),我注意到在选择 microsoft office 相关文件(.doc
或.docx
例如)时,文件对象没有指定类型:
对于 .doc 文件,我曾期望该类型是"application/msword"
.docx 并且遵循相同的思路"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
。
在无法确定类型的情况下,查看文件扩展名并将其与“预期”内容/mime 类型匹配的正确做法是什么?
示例脚本:
<div id="fileUpload">
<input type="file" id="fileElem" style="display:none;" onchange="handleFiles(this.files)"/>
<a href="#" id="fileSelect">Select some files</a>
</div>
<script type="text/javascript">
var fileSelect = document.getElementById("fileSelect"),
fileElem = document.getElementById("fileElem");
fileSelect.addEventListener("click", function (e) {
if (fileElem) {
fileElem.click();
}
e.preventDefault();
}, false);
function handleFiles(files) {
console.log(files);
}
</script>