使用on-change使图片转换为二进制
时间: 2024-02-20 22:56:55 浏览: 60
el-upload组件中的on-change事件会在文件状态改变时触发,可以在这个事件中将文件转换为二进制数据。
以下是一个示例代码,可以实现将图片文件转换为二进制数据并上传到后端接口:
```html
<template>
<el-upload
action="/upload"
:on-change="handleChange"
:on-success="onSuccess"
>
<el-button>上传图片</el-button>
</el-upload>
</template>
<script>
export default {
methods: {
handleChange(file) {
const reader = new FileReader();
reader.readAsDataURL(file.raw);
reader.onload = () => {
const binaryStr = atob(reader.result.split(',')[1]);
const binaryData = new Uint8Array(binaryStr.length);
for (let i = 0; i < binaryStr.length; i++) {
binaryData[i] = binaryStr.charCodeAt(i);
}
file.binaryData = binaryData;
};
},
onSuccess(response, file) {
// 处理上传成功后的操作,包括获取binaryData并上传到后端接口
const binaryData = file.binaryData;
// 上传binaryData到后端接口
}
}
};
</script>
```
上面代码中,我们通过on-change事件获取文件对象,并使用FileReader对象将文件转换为DataURL,然后将DataURL转换为二进制数据并将其添加到文件对象中。
在上传成功后,我们可以在onSuccess函数中获取文件对象,并从中获取binaryData并上传到后端接口。
阅读全文
相关推荐
![java](https://img-home.csdnimg.cn/images/20250102104920.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![7z](https://img-home.csdnimg.cn/images/20241231044736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)