upload上传限制
示例:对上传图片的大小、宽高、格式进行限制。
一、使用如下
代码如下(示例):
<el-upload
:before-upload="beforeAvatarUpload"
:disabled="disabled"
class="avatar-uploader"
action=""
:show-file-list="false"
:http-request="upload"
ref="upload"
:on-change="handleFileSuccess"
>
beforeAvatarUpload(file) {
// const isJPG = file.type === 'image/jpeg'
// console.log(file)
const isLt1M = file.size / 1024 / 1024 < 1
// if (!isJPG) {
// this.$message.error('上传头像图片只能是 JPG 格式!')
// }
if (!isLt1M) {
this.$message.error('上传头像图片大小不能超过 1MB!')
}
// return isJPG && isLt2M
// return isLt1M
const isSize = new Promise(function (resolve, reject) {
let width = 600
let height = 600
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
},
() => {
this.$message({
message: '图片尺寸只能是600*600px!请重新选择!',
type: 'warning'
})
return Promise.reject()
// return false //必须加上return false; 才能阻止
}
)
return isLt1M && isSize
}
总结
代码自用,具体限制根据注释修改!