在vue中,用element的上传图片组件,获取图片分辨率
时间: 2024-03-05 13:50:45 浏览: 129
Vue + Element UI图片上传控件使用详解
在Element上传图片组件中,可以通过`beforeUpload`函数获取上传的文件对象,并使用`FileReader`对象读取图片文件,然后利用`Image`对象获取图片的宽度和高度,代码如下:
```html
<el-upload
class="upload-demo"
action="/upload"
:before-upload="beforeUpload">
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
```
```javascript
beforeUpload(file) {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = () => {
const img = new Image();
img.src = reader.result;
img.onload = () => {
const width = img.width;
const height = img.height;
console.log(`图片分辨率为:${width}x${height}`);
resolve(file);
};
};
});
}
```
在`beforeUpload`函数中,首先使用`FileReader`对象读取图片文件,然后创建一个`Image`对象,将读取到的图片数据赋值给`src`属性。当`Image`对象加载完成后,可以通过`width`和`height`属性获取图片的宽度和高度,最后将分辨率输出到控制台中。注意,在`beforeUpload`函数中必须返回一个`Promise`对象,并在加载完成后调用`resolve`函数将文件对象返回给上传组件。
阅读全文