1. 程式人生 > >input type = file上傳圖片限制大小、型別判斷、畫素判斷

input type = file上傳圖片限制大小、型別判斷、畫素判斷

在專案中經常用到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
版權宣告:本文為博主原創文章,轉載請附上博文連結!