<input type = file/>上傳圖片限制大小、類型判斷、像素判斷
在項目中經常用到input標簽來上傳文件,而這些文件通常是圖片文件。圖片有很多格式我們只需要其中的幾種,就需要對用戶上傳的文件進行驗證,在HTML5中有一個新的屬性:accept文件類型限制。但是通常我們會用javascript或jQuery編寫方法進行驗證圖片的大小限制、類型判斷、像素判斷
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> //圖片類型驗證 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; } 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 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; // } //} </script> </head> <body> <input type="file" name="files" id="file" onchange="verificationPicFile(this)"> </body> </html>