Rumah  >  Artikel  >  hujung hadapan web  >  Contoh pemalam jQuery yang mengehadkan saiz dan format fail yang dimuat naik_jquery

Contoh pemalam jQuery yang mengehadkan saiz dan format fail yang dimuat naik_jquery

WBOY
WBOYasal
2016-05-16 16:18:141082semak imbas

Contoh dalam artikel ini menerangkan pemalam jQuery yang mengehadkan saiz dan format fail yang dimuat naik. Kongsikan dengan semua orang untuk rujukan anda. Analisis khusus adalah seperti berikut:

Apabila memuat naik fail pada klien, biasanya perlu mengehadkan saiz dan format fail Kaedah yang paling biasa ialah menggunakan pemalam tertentu yang mempunyai antara muka yang cantik dan fungsi yang berkuasa. tetapi satu-satunya kelemahan ialah: kadangkala anda menghadapi masalah keserasian Penyemak Imbas. Dalam artikel ini, kami akan menulis pemalam jQuery "asal" yang boleh mengehadkan saiz dan format fail yang dimuat naik.

Mula-mula, tulis pemalam bernama checkFileTypeAndSize.js. Hadkan format fail dengan menilai sama ada nama akhiran fail semasa disertakan dalam tatasusunan nama akhiran yang dibenarkan oleh pratetap dengan menilai sama ada saiz fail semasa di bawah IE dan pelayar lain adalah lebih besar daripada saiz fail maksimum yang dibenarkan oleh pratetap, untuk mengehadkan saiz fail dan menyediakan fungsi panggil balik untuk ralat format, melebihi saiz had dan syarat mesyuarat.

Salin kod Kod adalah seperti berikut:
(fungsi ($) {
$.fn.checkFileTypeAndSize = fungsi (pilihan) {
//Tetapan lalai
      var lalai = {
              dibenarkan Sambungan: [],
                 Saiz maksimum: 1024, //Unit ialah KB, saiz fail maksimum lalai ialah 1MB=1024KB
Kejayaan: fungsi () { },
              extensionerror: function () { },
sizeerror: fungsi () { }
        };
//Gabungkan tetapan
pilihan = $.lanjutkan(lalai, pilihan);
//Unsur lintasan
          kembalikan ini.setiap(fungsi () {
                $(this).on('change', function () {
//Dapatkan laluan fail
              var filePath = $(this).val();
//Laluan fail dalam huruf kecil
              var fileLowerPath = filePath.toLowerCase();
//Dapatkan nama akhiran fail
            sambungan var = fileLowerPath.substring(fileLowerPath.lastIndexOf('.') 1);
//Tentukan sama ada nama akhiran disertakan dalam tatasusunan nama akhiran pratetap dan dibenarkan
Jika ($.inArray(extension, options.allowedExtensions) == -1) {
options.extensionerror();
                            $(ini).fokus();
                    } lain {
                     cuba {
                        saiz var = 0;
Jika ($.browser.msie) {//iaitu versi lama penyemak imbas
                                                                   var fileMgr = new ActiveXObject("Scripting.FileSystemObject");
                                                                                                                                                                                          var fileObj = fileMr. saiz = fileObj.size; //bait
saiz = saiz / 1024;//kb
//saiz = saiz / 1024;//mb
                                    } lain {//Pelayar lain
saiz = $(this)[0].fail[0].saiz;//bait
saiz = saiz / 1024;//kb
//saiz = saiz / 1024;//mb
                                                                                                                                                    Jika (saiz > pilihan.maxSize) {
options.sizeerror();
                            } lain {
options.success();
                                                                                                                                                                                     } tangkap (e) {
alert("Ralat: "e);
                 }
                }
            });
});
};
})(jQuery);

Memanggil pelanggan menjadi sangat mudah.


@skrip bahagian
{