fetch请求完成下载乱码流文件

本文介绍了如何使用JavaScript的FetchAPI和Blob对象下载文件,包括设置请求头、获取BlobURL、创建虚拟链接并触发下载,以及错误处理。
摘要由CSDN通过智能技术生成

function downloadFile() {
// 文件下载地址
const fileUrl = ‘http://localhost:8089/SmartProperty/HouseFileController/downFile’;

// 设置请求头
const headers = new Headers();
headers.append(‘token’, ‘eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiIxIiwib3JnTmFtZSI6IuW6k-WwlOWLkuW4guaDoOWxheeJqeS4muaciemZkOWFrOWPuCIsInVzZXJSZWFsTmFtZSI6ImFkbWluIiwiYXBwZmxhZyI6Ik4iLCJ0eXBlTmFtZSI6IueJqeS4miIsImNvbW11bml0eUxpc3QiOiIxLDEwOCwyLDQyLDg1LDEwOSwxMTAsMTExLDExMiwxMTQsMTIxLDEyNCwxMjUsMTIyLDEyMywiLCJleHAiOjE3MDkxNDQ2NDUsIm9yZ0lkIjoiMSIsInVzZXJuYW1lIjoiYWRtaW4iLCJ0eXBlQ29kZSI6IjEifQ.fiLlGvGsDjRp4LYfCrKvPy5Mxb2XNsN3gwxOfr1VIa0’); // 设置授权头,替换YourAccessToken为实际的访问令牌

// 发起 Fetch 请求
fetch(fileUrl, {
method: ‘GET’,
headers: headers,
})
.then(response => response.blob())
.then(blob => {
// 创建一个虚拟的链接元素,模拟点击下载
const link = document.createElement(‘a’);
link.href = window.URL.createObjectURL(blob);
link.download = ‘房产信息表.xlsx’; // 设置下载文件名,替换filename.ext为实际的文件名和扩展名
document.body.appendChild(link);

  // 模拟点击
  link.click();

  // 移除虚拟链接元素
  document.body.removeChild(link);
})
.catch(error => console.error('下载失败:', error));

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值