1. 程式人生 > >easyUI filebox限定檔案大小

easyUI filebox限定檔案大小

轉載自:https://www.2cto.com/kf/201701/574667.html
侵刪
 easyui1.5filebox控制元件中增加檔案大小的驗證規則
2017-01-07 09:22:00          來源: a307433749的專欄  
收藏    我要投稿

程式碼:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 $.extend($.fn.validatebox.defaults.rules, {          // filebox驗證檔案大小的規則函式          // 如:validType : ['fileSize[1,"MB"]']
         fileSize : {              validator : function (value, array) {                 
var size = array[0];                  var unit = array[1];                  if (!size || isNaN(size) || size == 0) {                      $.error( '驗證檔案大小的值不能為 "' + size + '"' );                  } else if (!unit) {                      $.error( '請指定驗證檔案大小的單位' );                  }                  var index = -1;                  var unitArr = new Array( "bytes" , "kb" , "mb" , "gb" , "tb" , "pb" , "eb" , "zb" , "yb" );                  for ( var i = 0; i < unitArr.length; i++) {                      if (unitArr[i] == unit.toLowerCase()) {                          index = i;                          break ;                      }                  }                  if (index == -1) {                      $.error( '請指定正確的驗證檔案大小的單位:["bytes", "kb", "mb", "gb", "tb", "pb", "eb", "zb", "yb"]' );                  }                  // 轉換為bytes公式                  var formula = 1;                  while (index > 0) {                      formula = formula * 1024;                      index--;                  }                  // this為頁面上能看到檔名稱的文字框,而非真實的file                  // $(this).next()是file元素                  return $( this ).next().get(0).files[0].size < parseFloat(size) * formula;              },              message : '檔案大小必須小於 {0}{1}'          }      });

使用方式:

html:

?
1 < input name = "file" class = "easyui-filebox" validType = "fileSize:[10,'MB']" >

js:

?
1 2 3 4 5 6 7 8 9 10 $( '#file' ).filebox({           required : true          width : '300px'          multiple : true          validType : [ 'fileSize[1024,"kb"]' ],           buttonText : '請選擇'          buttonAlign : 'right'          prompt : '請選擇一個圖片型別的檔案'          accept : [ 'image/jpg' , 'image/bmp' , 'image/jpeg' , 'image/gif' , 'image/png' });