问题描述
1、element+vue上传图片到七牛云
2、在before-upload
钩子中从后端取出uptoken
3、第一次处理时,before-upload
还未返回,执行了上传操作,上传错误
4、之后的上传可以使用token,上传正常
相关代码
<el-upload ref="upload"
action="//up.qbox.me/"
:show-file-list="false"
:data="upToken"
:on-success="uploadSuccess"
:before-upload="beforeUpload"
accept="image/jpeg,image/gif,image/png,image/jpeg"
style="display:inline">
<el-button size="small">上传</el-button>
</el-upload>
// 参数
return {
// 七牛云上传token
upToken: {}
}
// 方法
// 上传七牛云
// 获取token
beforeUpload (file) {
axios({
method: 'get',
url: '/get_qiniu_token',
}).then(response => {
this.upToken = {token: response.data.msg}
})
},
uploadSuccess(response, file, fileList){
console.log(file)
},
你期待的结果是什么?
是否能在第一次上传时获取到了token,再进行上传操作
实现方式写一个异步处理的promise