Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengesahkan Jenis MIME Fail dalam JavaScript Sebelum Memuat naik?

Bagaimanakah Saya Boleh Mengesahkan Jenis MIME Fail dalam JavaScript Sebelum Memuat naik?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-03 11:17:14506semak imbas

How Can I Verify a File's MIME Type in JavaScript Before Uploading?

Bagaimana untuk Semak Jenis MIME Fail dengan JavaScript Sebelum Muat Naik?

JavaScript membolehkan anda memastikan jenis MIME fail menggunakan FileReader sebelum memuat naik ia ke pelayan. Walaupun semakan sisi pelayan lebih diutamakan, semakan sisi klien masih menjadi pilihan. Mari kita terokai caranya:

Langkah 1: Dapatkan Maklumat Fail

Dapatkan butiran fail daripada elemen seperti yang ditunjukkan di bawah:

// Retrieve file information
var files = document.getElementById("your-files").files;

Langkah 2: Periksa Fail untuk Jenis MIME

Kaedah Pantas:

Gunakan Gumpalan untuk mengekstrak jenis MIME:

console.log(files[i].type);  // Outputs "image/jpeg" or similar

Betul Kaedah Pemeriksaan Pengepala:

Analisis pengepala fail untuk "nombor ajaib" khusus untuk jenis fail yang berbeza:

var blob = files[i];  // File object
var fileReader = new FileReader();
fileReader.onloadend = function(e) {
  var arr = (new Uint8Array(e.target.result)).subarray(0, 4);
  var header = "";
  for(var i = 0; i < arr.length; i++) {
     header += arr[i].toString(16);
  }
  console.log(header);

  // Check the file signature against known types

};
fileReader.readAsArrayBuffer(blob);

Penentuan Jenis MIME Sebenar:

switch (header) {
    case "89504e47":
        type = "image/png";
        break;
    case "47494638":
        type = "image/gif";
        break;
    case "ffd8ffe0":
    case "ffd8ffe1":
    case "ffd8ffe2":
    case "ffd8ffe3":
    case "ffd8ffe8":
        type = "image/jpeg";
        break;
    default:
        type = "unknown";
        break;
}

Dengan menggunakan kaedah ini, anda boleh menentukan jenis fail MIME pada bahagian klien sebelum memuat naik mereka ke pelayan, mengurangkan penggunaan sumber pelayan yang tidak perlu.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn