Heim >Web-Frontend >js-Tutorial >Wie kann ich Datei-MIME-Typen in JavaScript vor dem Hochladen überprüfen?
Obwohl die serverseitige Validierung unerlässlich ist, muss sie clientseitig durchgeführt werden Durch Überprüfungen kann ein unnötiger Verbrauch von Serverressourcen verhindert werden. Obwohl der MIME-Typ häufig anhand der Dateierweiterung bestimmt wird, kann dieser Ansatz unzuverlässig sein. Hier ist ein zweistufiger Prozess, den Sie befolgen können, um MIME-Typen mithilfe von JavaScript vor dem Hochladen zu überprüfen:
Dateidetails aus einer -Datei abrufen Element wie unten gezeigt:
var control = document.getElementById("your-files"); control.addEventListener("change", function(event) { var files = control.files, for (var i = 0; i < files.length; i++) { console.log("Filename: " + files[i].name); console.log("Type: " + files[i].type); console.log("Size: " + files[i].size + " bytes"); } }, false);
Verwenden Sie die FileReader-API, um den Dateikopfzeilen zu untersuchen.
Schnelle Methode: Rufen Sie den MIME-Typ direkt aus der Datei ab Blob:
console.log(blob.type);
Zuverlässige Methode: Analysieren Sie die Rohdatei-Header-Bytes:
var fileReader = new FileReader(); fileReader.onloadend = function(e) { // code to obtain file header goes here }; fileReader.readAsArrayBuffer(blob);
Vergleichen Sie die Vergleichen Sie den Header mit bekannten Signaturen, um den tatsächlichen MIME-Typ zu ermitteln. Beispielsweise könnten JPEG-Signaturen sein:
case "ffd8ffe0": case "ffd8ffe1": case "ffd8ffe2": type = "image/jpeg"; break;
Abschließend können Sie Datei-Uploads basierend auf den erwarteten MIME-Typen akzeptieren oder ablehnen.
Hinweis: Es ist wichtig, sich dessen bewusst zu sein Selbst wenn eine Datei umbenannt wird, kann mit dieser Technik ihr wahrer MIME-Typ ermittelt werden.
Das obige ist der detaillierte Inhalt vonWie kann ich Datei-MIME-Typen in JavaScript vor dem Hochladen überprüfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!