需要先调取一个api获取到需要上传的数据和上传的api地址 不知道我这么写哪里错了 求解答...
<Upload
:action="uploadapi"
ref="upload"
:show-upload-list="true"
:format="['img','bin']"
accept=".img,.bin"
:on-success="handleSuccess"
:on-format-error="handleFormatError"
:before-upload="handleBeforeUpload"
:disabled="updisable"
:data="uploadData"
v-model="filename">
<Button icon="ios-cloud-upload-outline">请选择固件</Button>
</Upload>
handleBeforeUpload(file){
addFirmwareAction({model:this.firmwareform.productmodel}).then(res=>{
console.log(res)
if(res.data){
let obj = res.data;
this.uploadapi = location.protocol+"//"+ obj['host'].split("://")[1];
this.uploadData = {
"name":file.name,
"key":obj['dir'],
"policy" : obj['policy'],
"OSSAccessKeyId" : obj['accessid'],
'success_action_status' : '200', //让服务端返回200,不然,默认会返回204
"signature" : obj['signature'],
}
console.log(this.uploadapi,this.uploadData)
}
}).catch(err=>{
console.log(err)
})
let promise = new Promise((resolve) => {
this.$nextTick(function () {
resolve(true);
});
});
return promise; //通过返回一个promis对象解决
},