el-upload将上传的图片转为base64
文章目录
- el-upload将上传的图片转为base64
- 1. el-upload属性设置
- 2. 图片转base64格式方法
- 3. 在绑定的方法中调用
elementui使用el-upload时将选择的图片转为base64格式,然后再上传
1. el-upload属性设置
使用组件,然后on-change绑定一个方法来获取文件信息,auto-upload设置为false即可
<el-upload action='' :on-change="getFile" :limit="1" list-type="picture" :auto-upload="false"><el-button size="small" type="primary">选择图片上传,最多上传一张图片</el-button>
</el-upload>
2. 图片转base64格式方法
自定义一个方法,用来把图片内容转为base64格式,imgResult就是base64格式的内容了。转为base64字符串要调用h5特性中的FileReader这个api,但是这个api不能return,所以用promise封装一下。
getBase64(file) {return new Promise(function(resolve, reject) {let reader = new FileReader();let imgResult = "";reader.readAsDataURL(file);reader.onload = function() {imgResult = reader.result;};reader.onerror = function(error) {reject(error);};reader.onloadend = function() {resolve(imgResult);};});
},
3. 在绑定的方法中调用
getFile(file, fileList) {this.getBase64(file.raw).then(res => {console.log(res)});
},