后端提供的excel文档流如何下载?——前端基础知识
今天后端同事要求添加一个excel文件的下载功能:目前后端提供的文件导出,一共有两种形式:1.提供文件的相对路径前端需要自行拼接,然后通过window.open()将文件下载到本地代码如下:exportRecord(){this.exportLoading = true;//按钮的防抖$.ajax({//url是请求接口的路径,后面的url是基本地址,也就是端口号及之前的部分,后面拼接的是接口请求
·
后端提供的excel文档流如何下载
今天后端同事要求添加一个
excel
文件的下载功能:
目前后端提供的文件导出,一共有两种形式:
1.提供文件的相对路径
前端需要自行拼接,然后通过window.open()
将文件下载到本地
代码如下:
exportRecord(){
this.exportLoading = true;//按钮的防抖
$.ajax({
//url是请求接口的路径,后面的url是基本地址,也就是端口号及之前的部分,后面拼接的是接口请求的参数
url: url + "/Wms/Wms_PackageSigningMain/SignExport?signingTimeMin=" + this.input.SigningTimeMin + "&signingTimeMax=" + this.input.SigningTimeMax,
type: "get",//get请求
beforeSend: (request) => {//后端要求我传递cookie.如果不需要可以直接去掉此部分
request.setRequestHeader("token", cookie)
},
xhrFields: {//开始传递cookie的方式,后面发现无效,改为上面的beforeSend的方式
withCredentials: true
},
success: (res) => {
if (res.success) {
this.$message.success('导出成功');//请求成功后,可以拿到相对路径,然后通过window.open可以下载到本地
res.message && window.open(url+res.message)
} else {
this.$message.error(res.message||'导出失败');
}
},
complete: () => {
this.exportLoading = false;
}
});
}
2.后端返回文档流,可以直接通过window.open()
下载
直接通过window.open()
将文件下载到本地
代码如下:
var urls = url + "/Wms/Wms_PackageSigningMain/CompanySummaryExport?signingTimeMin=" + this.input.SigningTimeMin + "&signingTimeMax=" + this.input.SigningTimeMax;
window.open(urls)
this.$message.success('快递公司导出成功');
完成!!!
更多推荐
所有评论(0)