Ant Design of Vue ——Upload組件 —— 自定義上傳行為


//通過覆蓋默認的上傳行為,可以自定義自己的上傳實現
// 例:阿里雲OSS上傳文件
customRequest(file) {
  let _self = this
  var formData = new FormData();
 
  //注意formData里append添加的鍵的大小寫
  formData.append('key', _self.aliyunOssToken.key); //存儲在oss的文件路徑
  formData.append('OSSAccessKeyId', _self.aliyunOssToken.ossaccessKeyId); //accessKeyId
  formData.append('policy', _self.aliyunOssToken.policy); //policy
  formData.append('Signature', _self.aliyunOssToken.signature); //簽名
formData.append("file", file.file);
formData.append('success_action_status', 201); //成功后返回的操作碼
 
file.onProgress()

axios(
  {
  url: _self.action,
  method: 'post',
  data: formData,
  // headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).then(data => {
console.log(data)
let f = data.indexOf('<Location>'), l = data.indexOf('</Location>')
let str = data.substring(f+10,l)
console.log('remoteImgUrl--> ' + str)
file.onSuccess() //上傳成功
}).catch( err =>{
  file.onError() //上傳失敗
})
}
 
// 上傳文件改變時的狀態
change(info) {
const status = info.file.status;
if (status !== 'uploading') {
console.log(info.file, info.fileList);
}
if (status === 'done') {
console.log('上傳成功!')
} else if (status === 'error') {
console.log(`${info.file.name} 文件上傳失敗.`);
}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM