1. 程式人生 > >easyUI filebox限定文件大小

easyUI filebox限定文件大小

mod 必須 blog cti else 文本 fix tool pro

轉載自: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‘ ] });

easyUI filebox限定文件大小