获取图片的像素大小,使用上传文件之前的钩子 beforeUpload,参数为上传的文件。
<a-upload name="file" list-type="picture-card" class="avatar-uploader" :show-upload-list="false" :multiple="false" :before-upload="beforeUpload" :action="uploadUrl" @change="handleChangeFile" >
beforeUpload(file) { let reader = new FileReader(); reader.readAsDataURL(file); reader.onload = () => { const image = new Image(); image.src = reader.result; image.onload = () => { this.imgWidth = image.width; this.imgHeight = image.height; console.log(this.imgWidth, this.imgHeight); //文件像素大小 } } const isJpgOrPng = file.type === "image/jpeg" || file.type === "image/png"; if (!isJpgOrPng) { this.$message.error("仅可上传jpg和png文件"); } const isLt2M = file.size / 1024 / 1024 < 10; if (!isLt2M) { this.$message.error("图片文件要求小于10M"); } return isJpgOrPng && isLt2M; }