使用before-upload 方法,不符合规则时,会清空掉所有的已经上传的图片(运行了删除图片的事件);因为需要删除图片功能,所以不能在删除事件里进行判断图片是否符合规则,所以就有了以下笨方法.....
实现:使用http-request覆盖默认的上传行为;
selectPicUpload(obj) {
const file = obj.file;
const arr=[];
const isJPG = file.type === "image/jpeg";
const isJPG2 = file.type === "image/jpg";
const isPNG = file.type === "image/png";
const isLt5M = file.size / 1024 / 1024 < 20;
if (!isJPG && !isJPG2 && !isPNG) {
this.$message.warning("只支持jpg或png格式图片");
this.fileList = [...this.fileList,...arr];//更新数组 不符合要求的删除掉
return;
}
if (!isLt5M) {
this.$message.warning("请上传20MB以内的图片!");
this.fileList = [...this.fileList,...arr];
return;
}
}
菜鸟一枚....希望各位大佬们有更好的方法可以分享下。