`

<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;  
    }  
}  

 

 

 

 

 

 

 

.

分享到:
评论

相关推荐

    php上传类(生成缩略图)

    表单应设置`enctype="multipart/form-data"`,并使用`&lt;input type="file"&gt;`来让用户选择文件。提交表单后,数据会被发送到PHP脚本进行处理。 总结来说,"PHP上传类(生成缩略图)"涉及的关键知识点包括:PHP文件...

    upload_jquery_150609_多图片上传.rar

    1. 文件输入元素:HTML5引入了`&lt;input type="file"&gt;`元素,用于选取本地文件。通过设置`multiple`属性,可以支持用户选择多个文件进行上传。 2. jQuery选择器:jQuery提供了强大的选择器,如`$("#id")`用于选取ID为...

    二值化源代码

    Bitmap* bitmap = Bitmap::FromFile("input.jpg"); Graphics graphics(hdc); // hdc 是设备上下文 // 获取位图的数据指针 BitmapData bitmapData; bitmap-&gt;LockBits(&rect, ImageLockModeRead, PixelFormat24bppRGB...

    大名鼎鼎SWFUpload- Flash+JS 上传

     SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术为WEB开发者提供了一个具有丰富功能继而超越传统&lt;input type="file" /&gt;标签的文件上传模式。 [编辑本段]SWFUpload...

    15秋福师《网页设计技术》在线作业一[001].docx

    18. 文本域类型:HTML中的`&lt;input&gt;`标签的`type`属性用于定义文本域,常见的有文本输入(text)、密码输入(password)、单选按钮(radio)、复选框(checkbox)等,共4种基本类型。 19. CSS Box Model:在CSS中,...

    js实现上传图片预览的方法

    函数接收一个参数,即文件输入控件(`&lt;input type="file"&gt;`)的引用。然后,函数会读取该文件的扩展名,并与几种常见的图片格式进行比较,确保文件是用户所期望上传的图片类型。这包括JPEG、GIF、PNG、BMP等格式。...

Global site tag (gtag.js) - Google Analytics