【JavaScript】上传前获取图片宽度尺寸和大小
直接上代码:
beforeAvatarUpload(file) {
const isImg = file.type === 'image/jpeg' || file.type === 'image/png'
const isLt2M = file.size / 1024 / 1024 < 5
if (!isImg) {
this.$notify({
title: '失败',
message: '上传图片只能是 JPG/JPEG/PNG 格式!',
type: 'error',
duration: 3000
})
return false
}
if (!isLt2M) {
this.$notify({
title: '失败',
message: '上传图片大小不能超过 4MB!',
type: 'error',
duration: 3000
})
return false
}
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function () { //让页面中的img标签的src指向读取的路径
var img = new Image()
img.src = reader.result
if (img.complete) {//如果存在浏览器缓存中
if (img.width > 540 || img.height > 300) {
this.$notify({
title: '失败',
message: '上传图片分辨率建议540*300,宽度不可超过540px,高度不超过300px!',
type: 'error',
duration: 3000
})
return false
}
} else {
img.onload = function () {
if (img.width > 540 || img.height > 300) {
this.$notify({
title: '失败',
message: '上传图片分辨率建议540*300,宽度不可超过540px,高度不超过300px!',
type: 'error',
duration: 3000
})
return false
}
}
}
}
return isImg && isLt2M
}