elementUI的upload地址:Element - The world's most popular Vue UI framework

<el-upload
  action=""
  :http-request="uploadFile"
  :on-progress="handleFileUploadProgress"
  :on-success="handleFileSuccess"
  :on-error="handleFileError"
>

默认的上传为action,可以用http-request进行覆盖。action属性不可以删除,要同时存在。

//参数必须是param,才能获取到内容 
uploadFile(param){ 
   // 获取上传的文件名 
   var file = param.file 
  //发送请求的参数格式为FormData
   const formData = new FormData(); 
   formData.append("file",file) 
   // 调用param中的钩子函数处理各种情况,这样就可以用在组件中用钩子了。也可以用res.code==200来进行判断处理各种情况 
   uploadFile(formData,param).then(res=>{ 
     param.onSuccess(res) 
     }).catch(err=>{
     param.onError(err) }
  ) },
// 上传的请求(这里是request封装的请求,封装了请求头等信息)
uploadFile(query,param){
  return request({
    url:' ',
    method:'post',
    data: query,
    // 获取上传的进度
    onUploadProgress: event => {
      param.file.percent = event.loaded/event.total*100
      //此处调用处理中
      param.onProgress(param.file)
    }
  })
}
Logo

前往低代码交流专区

更多推荐