el-upload怎么获取图片宽高
时间: 2023-11-06 12:57:05 浏览: 55
el-upload可以通过调用getImgInfo方法获取图片的宽高。getImgInfo是一个导出的函数,它接受一个文件参数,并返回一个Promise对象。在函数内部,首先创建一个Image对象,并通过URL.createObjectURL方法将文件对象转换为URL。然后,设置Image对象的onload事件处理函数,在图片加载完成后获取图片的宽高,并将这些参数包装成一个对象返回。如果加载过程中发生错误,可以通过设置Image对象的onerror事件处理函数来处理错误情况。
在beforeUpload方法中,可以调用getImgInfo方法,并将文件对象作为参数传入。通过await关键字可以等待getImgInfo方法的返回结果,然后将结果保存在fileInfo变量中。通过fileInfo对象可以获取到图片的宽高信息。
相关问题
el-upload 上传之前获取图片宽高
您可以使用`el-upload`的`before-upload`事件来获取图片的宽高。在`before-upload`事件中,您可以通过`FileReader`来读取图片文件,并使用`Image`对象获取图片的宽高信息。
以下是一个示例代码:
```html
<template>
<el-upload
:action="uploadUrl"
:before-upload="handleBeforeUpload"
>
<el-button slot="trigger">点击上传</el-button>
</el-upload>
</template>
<script>
export default {
data() {
return {
uploadUrl: '/your-upload-url',
};
},
methods: {
handleBeforeUpload(file) {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.onload = (e) => {
const img = new Image();
img.onload = () => {
const width = img.width;
const height = img.height;
// 在这里可以获取到图片的宽高
console.log(`宽度:${width}px,高度:${height}px`);
resolve(file);
};
img.onerror = reject;
img.src = e.target.result;
};
reader.readAsDataURL(file);
});
},
},
};
</script>
```
在上述示例中,`handleBeforeUpload`方法会在上传文件之前被调用。它使用`FileReader`读取图片文件,并创建一个`Image`对象来获取宽高信息。在`img.onload`回调中,您可以拿到图片的宽高,并进行相应的处理。
请注意将代码中的`/your-upload-url`替换为您真实的上传接口地址。
el-upload获取图片临时路径
要获取el-upload组件中上传图片的临时路径,可以按照以下步骤进行操作:
1. 首先,确保你已经从后台获取到七牛token,并且成功上传了图片到七牛。
2. 然后,在el-upload组件中,通过设置change监听来获取上传的路径。根据引用提供的代码,你可以在el-upload组件上添加一个change事件处理函数`orgLogoChange`,并将上传的图片路径保存在`listVideoQuery.orgLogo`中。
3. 在change事件处理函数`orgLogoChange`中,可以通过`event.file`来获取上传的文件对象。根据引用提供的代码,你可以使用`event.file.name`来获取上传文件的临时路径。
下面是一个示例代码,展示了如何获取el-upload组件中上传图片的临时路径:
```javascript
<el-upload v-model="listVideoQuery.orgLogo" @change="orgLogoChange">
<!-- 添加上传图片的相关配置 -->
</el-upload>
// 在 Vue 实例中的 methods 中添加 orgLogoChange 函数
methods: {
orgLogoChange(event) {
// 获取上传的文件对象
const file = event.file;
// 获取上传文件的临时路径
const tempPath = file.name;
// 在这里可以对临时路径进行处理,如显示在页面上或进行其他操作
console.log("上传图片的临时路径: ", tempPath);
}
}
```
通过以上步骤,你可以成功获取el-upload组件中上传图片的临时路径,并对其进行进一步处理。