Walaupun pengesahan bahagian pelayan penting, melaksanakan bahagian klien semakan boleh menghalang penggunaan sumber pelayan yang tidak perlu. Walaupun jenis MIME sering ditentukan berdasarkan sambungan fail, pendekatan itu mungkin tidak boleh dipercayai. Berikut ialah proses dua langkah yang boleh anda ikuti untuk mengesahkan jenis MIME menggunakan JavaScript sebelum memuat naik:
Dapatkan butiran fail daripada elemen seperti yang ditunjukkan di bawah:
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);
Gunakan API FileReader untuk memeriksa pengepala fail.
Kaedah Pantas: Dapatkan secara langsung jenis MIME dari fail gumpalan:
console.log(blob.type);
Kaedah Boleh Dipercayai: Analisis bait pengepala fail mentah:
var fileReader = new FileReader(); fileReader.onloadend = function(e) { // code to obtain file header goes here }; fileReader.readAsArrayBuffer(blob);
Bandingkan pengepala terhadap tandatangan yang diketahui untuk menentukan jenis MIME sebenar. Sebagai contoh, tandatangan JPEG boleh menjadi:
case "ffd8ffe0": case "ffd8ffe1": case "ffd8ffe2": type = "image/jpeg"; break;
Akhir sekali, terima atau tolak muat naik fail berdasarkan jenis MIME yang dijangkakan.
Nota: Adalah penting untuk menyedari bahawa walaupun fail dinamakan semula, jenis MIME sebenarnya boleh diwujudkan menggunakan teknik ini.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesahkan Jenis MIME Fail dalam JavaScript Sebelum Memuat Naik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!