判斷pdf、word文檔、圖片等文件類型(格式)、大小的簡便方法 ...
判斷pdf、word文檔、圖片等文件類型(格式)、大小的簡便方法
很久沒發文了,今天有時間就寫一下吧。
關於上傳文件,通常我們都需要對其進行判斷,限制上傳的類型,如果是上傳圖片,我們甚至會把圖片轉化成base64數據後,再進行上傳。普遍的方法是直接寫在上傳按鈕的觸發方法裡面,但是對於大型的項目而言,這必然是會重覆著同一段代碼,使得代碼臃腫繁重,這樣也不利於平臺的優化以及後續的維護,於是,我便封裝了一個小小的判斷上傳文件的類型,圖片類型的簡便方法,這樣不緊節省了重覆的勞動力,而且還可以更好的優化項目,提高性能,代碼如下:
/* Type: 該值為類型數組,例如:["gif","jpeg","jpg","png"] Size: 該值為數值,限制大小(單位M) fileID: 需要驗證的文件ID clackFn:回調函數 使用:TypeSize(["gif","jpeg","jpg","png"],20,"id",function(){ //回調函數內容 }); */ function TypeSize(Type,Size,fileID,clackFn){ var file = document.getElementById(fileID); var size = 1024*1024*Size; var arr = Type; var fileContentType = file.value.match(/^(.*)(\.)(.{1,8})$/)[3]; //文件類型 if (file.files && file.files[0]){ var f_size = file.files[0].size; //文件大小 if(arr.join(',').toLowerCase().indexOf(fileContentType.toLowerCase()) != -1){ //檢索上傳的文件類型是不是在允許的arr數組之內 if(f_size > size){ GlobalTip.WarningTipBox("文件太大,請重新上傳",'確定'); file.value=""; return false; }else { clackFn(); } } else { GlobalTip.WarningTipBox("文件格式不匹配,請重新上傳",'確定'); } } else { //相容IE GlobalTip.WarningTipBox('請切到高級瀏覽器,再進行圖片上傳','確定'); } }
謝謝閱讀,如果能幫到您,請幫忙頂一個,當然喜歡的可以收藏一下,謝謝!~( ̄▽ ̄~)(~ ̄▽ ̄)~
註:轉發請註明出處