iview upload 上传图片前使用Promise判断高宽

因项目需要,上传图片前要验证图片的高宽,看了一下官方文档,before-upload可以返回false或者Promise,就通过promise实现了这个功能


js部分

原文地址 iview 上传图片宽高限制

detailBeforeUpload(file) { return this.checkImageWH(file, 706, 397); } 

//checkImageWH 返回一个promise 检测通过返回resolve 失败返回reject组织图片上传

checkImageWH(file, width, height) {

let self =this;

    return new Promise(function (resolve, reject) {

let filereader =new FileReader();

        filereader.onload = e => {

let src = e.target.result;

            const image =new Image();

            image.onload =function () {

if (width &&this.width != width) {

self.$Notice.error({

title:'请上传宽为' + width +"的图片",

                    });

                    reject();

                }else if (height &&this.height != height) {

self.$Notice.error({

title:'请上传高为' + height +"的图片",

                    });

                    reject();

                }else {

resolve();

                }

};

            image.onerror = reject;

            image.src = src;

        };

        filereader.readAsDataURL(file);

    });

},

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容