Ermitteln unbekannter Inhaltstypen mit der Html5-Datei-API
Ich arbeite an einem kleinen Skript zum Hochladen von Dateien (Lernerfahrung) und habe festgestellt, dass bei der Auswahl von Microsoft Office-bezogenen Dateien (.doc
oder.docx
Beispiel: Für die Dateiobjekte wurde kein Typ angegeben:
Für DOC-Dateien hatte ich den Typ erwartet"application/msword"
und entlang des gleichen Gedankengangs .docx zu sein"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
.
In den Fällen, in denen der Typ nicht bestimmt werden kann, ist die richtige Vorgehensweise, um die Dateierweiterung zu überprüfen und diese dem "erwarteten" Inhalt / MIME-Typ zuzuordnen?
Beispielskript:
<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>