我正在通過一個小文件上傳腳本(學習經驗),我注意到當選擇與Microsoft Office相關的文件時(例如.doc
或.docx
)文件對象沒有指定類型:用Html5文件API確定未知內容類型
對於.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>
這是一個有用的和mantained mime類型列表api。 https://github.com/stretchr/filetypes.js – netalex
[Mime-type list](http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types)from svn.apache.org。請參閱[PHP文檔評論](http://php.net/manual/en/function.mime-content-type.php#107798) – Bright