js 判斷上傳檔案的大小

來源:互聯網
上載者:User

標籤: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,請重新選擇圖片!");

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

    }

}


代碼解釋:

其中的:

javascript判斷瀏覽器代碼 :/MSIE/i.test(navigator.userAgent)
Regex,navigator.userAgent瀏覽器資訊是否含有MSIE字樣,就是判斷是否為IE瀏覽器。


使用當時只需要在上傳檔案的控制項那裡調用就可以了


<INPUT TYPE="file" NAME="file" SIZE="30" onchange="CheckImage(this)">    

js 判斷上傳檔案的大小

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.