美文网首页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