美文网首页WEB前端笔记本
vue+axios+formdata上传文件

vue+axios+formdata上传文件

作者: Gino_Li | 来源:发表于2020-02-29 16:15 被阅读0次

通过input file触发上传框

<input type="file" ref="upload" style="display:none;" accept=".xlsx" @change="uploadChange">
 <button @click="importTemplate">模板导入</button>

按钮触发input点击事件

importTemplate() {
    this.$refs.upload.click();
}

对axios进行接口的二次封装

async BatchExportExcel(data){
    return promise(axios.post('/xxx/xxx',data,{
      headers: {
        "Content-Type": "multipart/form-data"
      }
    }))
  }

监听input file上传文件

uploadChange(e) {
    let file = e.target.file;
    if(!file) return 
    // new 一个formdata对象
    let form = new FormData();
    form.append(file,'file');
    // 请求
    api.BatchExportExcel(form).then(res => {
        console.log(res,上传成功);
        //如果可以重复上传记得清空value值
        e.target.value = ''
    })
}

相关文章

网友评论

    本文标题:vue+axios+formdata上传文件

    本文链接:https://www.haomeiwen.com/subject/zqxphhtx.html