// 上传前校验图片
const beforeUpload = (file) => {
// 判断格式
const types = ["image/jpg", "image/png", "image/jpeg", "image/gif"];
const isJPG = types.includes(file.type);
if (!isJPG) {
ElMessage.error("上传图片格式不正确");
}
// 判断体积大小
const isLt2M = file.size / 1024 / 1024 < 1;
if (!isLt2M) {
ElMessage.error("上传头像图片大小不能超过 1MB!");
}
//判断尺寸大小
const isSize = new Promise(function (resolve, reject) {
let width = 750;
let height = 750;
let _URL = window.URL || window.webkitURL;
let img = new Image();
img.onload = function () {
let valid = img.width == width && img.height == height;
valid ? resolve() : reject();
};
img.src = _URL.createObjectURL(file);
}).then(
() => {
return file;
},
() => {
ElMessage.error("上传的图片尺寸过大,请重新上传");
return Promise.reject();
//必须加上return false; 才能阻止
return false;
}
);
return isJPG && isLt2M && isSize;
};
vue3上传图片,限制图片尺寸
于 2022-10-25 17:09:09 首次发布