上传图片限制大小、类型判断、像素判断

大小限制、类型判断、像素判断

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

<input type="file" id="file" οnchange="_selectUploadPic">
图片类型验证
function _selectUploadPic(ev) {
    var fileTypes = [".jpg", ".png"]  // 图片限制的格式类型
    var filePath = ev.target.value    // 图片路径(本地)
    if(filePath){
        var fileEnd = filePath.substring(filePath.lastIndexOf("."))
        if(!fileTypes.includes(fileEnd)){
        	ev.target.value = "";
        	return alert('当前图片仅支持格式为:' + fileTypes.join(' ,'))
        }
    }else {
       	return alert('图片路径获取失败,请重新上传')
    }
}
图片大小验证
function _selectUploadPic(ev) {
	const ev_target = ev.target
    var fileSize = 0
    var fileMaxSize = 1024  //1M
    var filePath = ev_target.value
    if(filePath){
        fileSize = ev_target.files[0].size
        var size = fileSize / 1024
        if (size > fileMaxSize) {
        	ev_target.value = ""
            return alert("图片大小不能超过" + (fileMaxSize/1024)  + 'M')
        }else if (size <= 0) {
        	ev_target.value = ""
           	return alert("图片大小异常,请重新上传")
        }
    }else{
       return alert('图片路径获取失败,请重新上传')
    }
}
图片尺寸验证
function _selectUploadPic(ev) {
	const ev_target = ev.target
    var filePath = ev_target.value
    if(filePath){
        var filePic = ev_target.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 >= 1080 && height >= 980){
                  	// do...
                }else {
                	ev_target.value = ""
                    return alert("图片分辨率不能低于1080*980")                   
                }
            };
            image.src= data;
        };
        reader.readAsDataURL(filePic);
    }else{
        return alert('图片路径获取失败,请重新上传')
    }
}

参考文章


上传图片限制大小、类型判断、像素判断

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值