el-upload 上传图片的限制

35 篇文章 0 订阅
28 篇文章 0 订阅

 <div class="upImg">

                    <el-upload class="avatar-uploader"

                               action="urlPath"

                               :show-file-list="false"

                               :on-success="handleImgSuccess"

                               :before-upload="beforeImgUpload">

                        <img v-if="form.imageUrl"

                             :src="form.imageUrl"

                             class="avatar">

                        <i v-else

                           class="el-icon-plus avatar-uploader-icon"></i>

                    </el-upload>

                </div>

                <div class="el-upload__tip">大小:750*450,格式:jpg、jpeg、png</div>

 // 上传图片

        handleImgSuccess(event, file, fileList) {

            this.form.imageUrl = event.data

        },

        beforeImgUpload(file) {

            const isJPG = (file.type == 'image/jpeg') || (file.type == 'image/jpg') || (file.type == 'image/gif') || (file.type == 'image/png');

            const isLt2M = file.size / 1024 / 1024 < 2;

 

            if (!isJPG) {

                this.$message.error('上传头像图片只能是 JPEG/JPG/GIF/PNG 格式!');

                return false;

            }

            if (!isLt2M) {

                this.$message.error('上传头像图片大小不能超过 2MB!');

                return false;

            }

          //限制图片的大小

            if (this.validWidth && this.validHeight) {

                return this.valWidthAndHeight(file)

            } else{

                return isJPG && isLt2M;

            }

        },

 

        //验证图片宽高

        valWidthAndHeight(file) {

            let _this = this

            return new Promise(function (resolve, reject) {

                let width = _this.validWidth //图片宽度

                let height = _this.validHeight; //图片高度

                let _URL = window.URL || window.webkitURL;

                let image = new Image();

                image.src = _URL.createObjectURL(file);

                image.onload = function () {

                    let valid = image.width == width && image.height == height;

                    valid ? resolve() : reject();

                };

            }).then(

                () => {

                    return file;

                },

                () => {

                    this.$message.error("上传图片尺寸不符合,只能是" + _this.validWidth + "*" + _this.validHeight + "!");

                    return Promise.reject();

                }

            );

        },

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值