zoukankan      html  css  js  c++  java
  • 上传图片限制大小、类型判断、像素判断

    在项目中经常用到input标签来上传文件,而这些文件通常是图片文件。图片有很多格式我们只需要其中的几种,就需要对用户上传的文件进行验证,在HTML5中有一个新的属性:accept文件类型限制。但是通常我们会用javascript或jQuery编写方法进行验证图片的大小限制、类型判断、像素判断。

    <input type="file" name="files" id="file" οnchange="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.οnlοad=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博主「听不懂的小夜曲」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_39200924/article/details/79198766

    苟利国家生死以, 岂因祸福避趋之
  • 相关阅读:
    .NET Demon为Visual Studio提供持续编译和测试功能
    java面试题:字符串的排列算法
    JS实现IP地址判断
    明茨伯格管理进行时的读书感想:好书,适合有一定管理经验的人沉淀
    N个小时学MM IMG设定_存货管理和盘点 <四>
    上线第一天
    ISurfaceOp 接口生成等高线(一)
    出差合肥,路经武汉,后到长沙
    新博客
    出差合肥,路经武汉,后到长沙2
  • 原文地址:https://www.cnblogs.com/chintsai/p/11829202.html
Copyright © 2011-2022 走看看