Kata pengantar:
Ini sering digunakan dalam proyek untuk mengunggah file, foto, dan fungsi lainnya, dan ukuran file yang diunggah harus dibatasi. Banyak plug-in akan menggunakan verifikasi permintaan latar belakang, dan verifikasi JS front-end relatif kecil. Artikel ini memperkenalkan metode JS front-end untuk dengan mudah menilai ukuran file unggahan.
Ini lebih baik
<html> <head> <meta http-equiv = "content-type" content = "text/html; charset = utf-8"/> <script type = "text/javascript"> var isie = /msie/i.test(navigator.useragent) &&! window.opera; fungsi filechange (target, id) {var filesize = 0; var filetypes = [".jpg", ".png", ".rar", ".txt", ".zip", ".doc", ".ppt", ".xls", ".pdf", ".docx", ".xlsx"]; var filepath = target.value; var filemaxSize = 1024 * 2; // 2m if (filePath) {var isnext = false; var fileend = filepath.substring (filepath.indexof (".")); if (filetypes && filetypes.length> 0) {for (var i = 0; i <filetypes.length; i ++) {if (filetypes [i] == fileEnd) {isnext = true; merusak; }}} if (! isNext) {waspada ("Jenis file ini tidak diterima!"); target.value = ""; mengembalikan false; }} else {return false; } if (isie &&! target.files) {var filepath = target.value; var fileSystem = new ActiveXObject ("Scripting.FilesystemObject"); if (! FileSystem.fileExists (FilePath)) {alert ("Lampiran tidak ada, mohon masukkan kembali!"); mengembalikan false; } var file = fileSystem.getFile (filepath); filesize = file.size; } else {filesize = target.files [0] .size; } var size = FileSize / 1024; if (size> filemaxSize) {alert ("Ukuran lampiran tidak boleh lebih besar dari" + filemaxSize / 1024 + "m!"); target.value = ""; mengembalikan false; } if (size <= 0) {alert ("Ukuran lampiran tidak bisa 0m!"); target.value = ""; mengembalikan false; }} </script> </head> <body> <input type = "file" name = "contractFileName" onchange = "filechange (this);"/> </body> </html>Kode berikut tidak disarankan
Kode ini sangat sederhana. Kuncinya adalah cara menggunakan JS untuk mendapatkan file dan mendapatkan ukuran file, dan kemudian menilai dan mencegatnya. Karena berbagai alasan historis, faktor kontrol ActiveX IE dan metode mendapatkan file mungkin berbeda dari browser lain, jadi hanya sedikit penilaian yang diperlukan.
Kode JS:
<type script = "Text/JavaScript"> // Tentukan apakah itu browser IE: /msie/i.test(navigator.useragent) adalah var isie reguler sederhana = /msie/i.test(navigator.useragent) &&! window.opera; fungsi filechange (target) {var filesize = 0; if (isie &&! target.files) {// yaitu browser var filepath = target.value; // Dapatkan jalur absolut ke file yang diunggah/** * ActivexObject Objek adalah objek JS yang kompatibel dengan IE dan opera * Penggunaan: * var newoBj = new ActiveXObject (servername.typeName [, lokasi]) * di mana newoBj merupakan opsi yang diperlukan. Mengembalikan nama variabel objek ActiveXObject. * Servername adalah suatu keharusan. Memberikan nama aplikasi yang objeknya. * Typename adalah suatu keharusan. Jenis atau kelas objek yang akan dibuat. * Lokasi opsional. Nama server jaringan yang membuat objek. * //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Komponen IIS, yang digunakan untuk mengoperasikan disk, folder, atau file teks,* Ada banyak metode dan atribut newoBJ yang dikembalikan di dalamnya* misalnya: var file = newoBj.createTextFile ("c: /test.txt", true) Parameter kedua menunjukkan apakah file target ditimpa ketika file write. file.close (); */ var fileSystem = new ActivexObject ("Scripting.FilesystemObject"); // Metode getFile (path) mendapatkan file dari disk dan kembali. var file = filesystem.getFile (filepath); filesize = file.size; // Ukuran file, unit: b} else {// non -e browser fileSize = target.files [0] .size; } var size = FileSize / 1024 /1024; if (size> 1) {alert ("lampiran tidak bisa lebih besar dari 1m"); }} </script>Kode HTML
Salinan kode adalah sebagai berikut:
<input type = "file" onchange = "filechange (this);"/>
Metode yang sederhana, ringan dan cepat untuk menggunakan kode JS untuk menilai ukuran file OK. Adapun mereka yang tertarik pada objek ActiveXObject, Anda bisa masuk lebih dalam. Itu dapat mengembalikan objek yang berbeda sesuai dengan parameter yang dimasukkan. Biasanya, fungsi dan fungsi objek juga sangat berguna dan kuat.
Itu saja untuk artikel ini. Apakah ini kode yang sangat sederhana dan praktis? Saya harap Anda menyukainya.