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

前端请求下载后台文件

时间:2023-03-31 21:08:53 vue.js

前端请求下载后台文件方法一:后台直接请求接口下载后台文件。由于后台文件下载接口是通过ajax请求的,所以不能返回数据到通常的请求接口,而是直接请求接口浏览浏览器会自动下载文件,所以选择重新打开一个新页面,路径就是拼接的下载文件的接口路径。让va=config.URL\_CNODEJS+'/bservice/duty/down/'+y+'/'+m;//拼接地址+接口+参数window.open(va,"target")//打开一个新页面方法二:获取对应的请求地址进行下载当后台已经预先将文件下载地址放在数据中时,我们需要获取文件下载地址,创建链接打开下载。//文件下载download(val){if(val.path){//val.path为下载路径letimg=/.(png|jpg|jpeg|gif)$/g;if(img.test(val.path)){//图片下载letx=newXMLHttpRequest();x.open('GET',val.path,true);x.responseType='blob';x.onload=(e)=>{leturl=window.URL.createObjectURL(x.response)leta=document.createElement('a');a.href=urla.download=val.namea.click()}x.send();}else{//普通文件下载letlink=document.createElement('a');link.href=val.path;link.download=val.name;link.style.display='无';document.body.appendChild(链接);链接.点击();document.body.removeChild(链接);}}else{this.$message('没有文件下载');}}

猜你喜欢