input type = file上傳圖片限制大小、型別判斷、畫素判斷
阿新 • • 發佈:2018-11-13
在專案中經常用到input標籤來上傳檔案,而這些檔案通常是圖片檔案。圖片有很多格式我們只需要其中的幾種,就需要對使用者上傳的檔案進行驗證,在HTML5中有一個新的屬性:accept檔案型別限制。但是通常我們會用javascript或jQuery編寫方法進行驗證圖片的大小限制、型別判斷、畫素判斷。
<input type="file" name="files" id="file" onchange="verificationPicFile(this)">
//圖片型別驗證 function verificationPicFile(file) { var fileTypes = [".jpg", ".png"]; var filePath = file.value; //當括號裡面的值為0、空字元、false 、null 、undefined的時候就相當於false if(filePath){ var isNext = false; var fileEnd = filePath.substring(filePath.indexOf(".")); for (var i = 0; i < fileTypes.length; i++) { if (fileTypes[i] == fileEnd) { isNext = true; break; } } if (!isNext){ alert('不接受此檔案型別'); file.value = ""; return false; } }else { return false; } }
//圖片大小驗證 function verificationPicFile(file) { var fileSize = 0; var fileMaxSize = 1024;//1M var filePath = file.value; if(filePath){ fileSize =file.files[0].size; var size = fileSize / 1024; if (size > fileMaxSize) { alert("檔案大小不能大於1M!"); file.value = ""; return false; }else if (size <= 0) { alert("檔案大小不能為0M!"); file.value = ""; return false; } }else{ return false; } }
//圖片尺寸驗證 function verificationPicFile(file) { var filePath = file.value; if(filePath){ //讀取圖片資料 var filePic = file.files[0]; var reader = new FileReader(); reader.onload = function (e) { var data = e.target.result; //載入圖片獲取圖片真實寬度和高度 var image = new Image(); image.onload=function(){ var width = image.width; var height = image.height; if (width == 720 | height == 1280){ alert("檔案尺寸符合!"); }else { alert("檔案尺寸應為:720*1280!"); file.value = ""; return false; } }; image.src= data; }; reader.readAsDataURL(filePic); }else{ return false; } }
作者:聽不懂的小夜曲
來源:CSDN
原文:https://blog.csdn.net/qq_39200924/article/details/79198766
版權宣告:本文為博主原創文章,轉載請附上博文連結!