天天看點

js 判斷上傳檔案的大小

       原先加了一個qq群,群裡有人問道有沒有辦法在浏覽器端獲得上傳檔案的大小并做出限制,我自己并不知道方法,我覺得是不可以的,我在群裡提出自己的見解的同時也向别人提出如果就解決辦法也想一起知道,直到一大神出現解決了這個問題,才明白解決辦法,忽然覺得這群裡還是能學到新東西的!廢話不多說了。

這是js判斷檔案大小的方法。

function CheckImage(FileUpload) {

    var isIE = /msie/i.test(navigator.userAgent) && !window.opera;

    var mime = FileUpload.value;

    mime = mime.toLowerCase().substr(mime.lastIndexOf("."));

    if (mime != ".jpg" && mime != ".png" && mime != ".bmp" && mime != ".gif") {

        alert("僅支援JPG,PNG,BMP,gif格式圖檔!");

        FileUpload.outerHTML = FileUpload.outerHTML; //Clear File's value

    }

    var fileSize = 0;

    if (isIE && !target.files) {

        var filePath = FileUpload.value;

        var fileSystem = new ActiveXObject("Scripting.FileSystemObject");

        var file = fileSystem.GetFile(filePath);

        fileSize = file.Size;

    } else {

        fileSize = FileUpload.files[0].size;

    alert(fileSize);

    var size = fileSize / 1024;

    if (size > 1024) {

        alert("圖檔不能大于1M,請重新選擇圖檔!");

}

代碼解釋:

其中的:

javascript判斷浏覽器代碼 :/MSIE/i.test(navigator.userAgent)      
正規表達式,navigator.userAgent浏覽器資訊是否含有MSIE字樣,就是判斷是否為IE浏覽器。