#js 限制上傳文件的大小

js 限制上傳文件的大小

上傳文件是一個網站經常用到的功能,在前端對文件的大小進行限制也是很有必要的。今天寫了一段代碼來監聽input的change事件,來進行上傳文件大小的控制

$("#ms_upload_file").change(function(){

    //檢驗非空和文件大小
    if($(this).val() !== '' && checkSize(this)) {

        //其他操作
    } 
});

/**
 * 函數:檢查上傳文件大小
 * 輸入:input的js對象
 * 輸出:
**/
function checkSize(input) {
    var Sys = {};
    var flag;
    var filesize = 0;

    //判斷瀏覽器種類
    if (navigator.userAgent.indexOf("MSIE") > 0) {
            Sys.ie=true;
        }
    if (navigator.userAgent.indexOf("Firefox")>0) {
            Sys.firefox=true;
        }

    //獲取文件大小
    if (Sys.firefox) {
        filesize = input.files[0].size;
    } else if (Sys.ie){
        var fileobject = new ActiveXObject ("Scripting.FileSystemObject");//獲取上傳文件的對象
        var file = fileobject.GetFile (input.value);//獲取上傳的文件
        filesize = file.Size;//文件大小
    }

    //判斷是否符合要求
    if (filesize / (1024 * 1024) < 5 ) {
        flag = true;
    } else {
        alert("附件過大,建議不要超過5M!");
        flag = false;
    }

    return flag;
}

發佈了45 篇原創文章 · 獲贊 12 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章