axios+FormData文件上传

axios+FormData文件上传

原理:FormData上传

创建一个FormData对象,将得到的文件流对象放在FormData内,然后使用axios上传

注意:

1.请求头设置

headers: { 'Content-Type': 'multipart/form-data' }

2.FormData对象

无论是用input type=“file”还是一些框架的上传组件,都可以的到一个file文件流,详见代码展示

代码:

我是使用的是iview的Upload组件

<Upload :before-upload="handleUpload"
              accept=".rar"
              :format="['.rar']"
              :max-size=102400
              action="#">
                <Button size="small">选择文件</Button>
</Upload>

  

/* 上传文件 */
export const importFile = data => request({ url: '/ktdb/projectAdmission/import', method: 'post', headers: { 'Content-Type': 'multipart/form-data' }, data })

  

handleUpload (file) {
      // 创建FormData对象
      let param = new FormData()
     // 将得到的文件流添加到FormData对象
      param.append('file', file, file.name)
      importFile(param).then((res) => {
        console.log(res)
    }
}

  

钻研不易,转载请注明出处。。。。。。

原文地址:https://www.cnblogs.com/s313139232/p/10836832.html