版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ZY_FlyWay/article/details/100628147
前端:React写的,需要下载后台接口文件 后台:通过接口传过来一个word文件,Content-Type :application/msword
可以下载一个GET方法
GET方式下载一个:
尝试一: 用Fetch 下载二进制文件,按照逻辑应该是可以的。但是下载完之后,文件内容有问题。
//可以根据需求传特定的一些参数
const downloadUrl = 'http://127.0.0.1:8080/file/download';
fetch(downloadUrl, {
method: 'POST',
body: window.JSON.stringify(params),
credentials: 'include',
headers: new Headers({
'Content-Type': 'application/json'
})
}).then((response) => {
response.blob().then( blob => {
let blobUrl = window.URL.createObjectURL(blob);
let a = document.createElement('a_id');
let filename = response.headers.get('Content-Disposition');
a.href = blobUrl;
a.download = filename;
a.click();
window.URL.revokeObjectURL(blobUrl);
});
}).catch((error) => {
console.log(error);
});
尝试二: 直接打开链接,不跳转地址。下载成功
window.open("您的get下载地址")
按照逻辑来说两种都是可以的。