擴展 ajaxupload.js ,支持客戶端判斷上傳文件的大小


        onSubmit: function(file, extension){},

修改為

        onSubmit: function(file, extension, size){},

 

        if (! (settings.onSubmit.call(this, file, getExt(file))) == false)) {

修改為

        if (! (settings.onSubmit.call(this, file, getExt(file), getSize('absFileInput')) == false)) {

 

增加函數 getSize, 源自 http://www.cnblogs.com/majiang/p/5120740.html

function getSize(elementID) {
    var file = document.getElementById(elementID);
    var size = 0;
    if (file.value) {
        if (file.files) {
            size = file.files[0].size;
        }
        else {
            var imgid = "img" + elementID;
            var obj_img = document.getElementById(imgid);
            obj_img.dynsrc = file.value;
            size = obj_img.fileSize;
        }
    }
    return size;
}


最后修改提交腳本

new AjaxUpload(button, {
  //...
  onSubmit: function (file, ext, size) {
    if (!(ext && /^(pdf)$/.test(ext))){
       alert(file +' 不是允許上傳的文件類型');
    // cancel upload
    return false;
    }
    if(size>20*1000*1000){
      alert(file+' 超出文件上傳的大小限制');
      return false; }   },
  //...
)};


IE 11,10-7 測試通過

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM