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