当前位置: 首页 > Web前端 > vue.js

文件上传下载

时间:2023-03-31 15:20:32 vue.js

上传使用FormDatahttps://developer.mozilla.org/zh-CN/docs/Web/API/FileReader/readAsDataURL下载使用tag的形式importAxiosfrom'axios'classUtils{downloadFile(url,params){Axios.get(url,{params,responseType:"blob",headers:{Authorization:localStorage.getItem("token"),}}).then(res=>{if(res.data){leturls=window.URL.createObjectURL(res.data);letlink=document.createElement("a");link.style.display="none";link.setAttribute("download","export.xls");link.href=urls;document.body.appendChild(link);link.click();}})}uploadFile(file,url){returnnewPromise((resolve,reject)=>{if(file){让formData=newFormData();formData.append("文件",文件);Axios.post(url,formData,{headers:{"Content-type":"multipart/form-data",授权:localStorage.getItem("token"),}}).then(resolve).catch(reject)}else{reject(newError('Nofileuploaded!'))}})}}exportdefaultnewUtils();importUtilsfrom'../../Utils/Utils.js'use://downloadletobj=Object.assign({},this.queryInfo);//download.downloadFile("api/manager/corInvoice/export",obj)//上传download.uploadFile(file,"api/manager/corInvoice/import").then((res)=>{if(res.status==200){this.$message.success("文件导入成功!");this.initTable();}}).catch((err)=>{console.log(err);});