我正在调用后端微服务的 API 端点,该微服务下载 HTML 文件以响应 API 数据。我正在使用和 Axios 库来调用后端微服务,并且我得到了很好的响应。
在我的代码的 .then 块中,我使用 Blob 处理响应数据并将其保存为 HTML 文件。此代码基本上从 API 调用中获取响应,并将数据准备为具有自定义文件名的可下载链接。
当块的link.click()部分被执行时,下载会自动开始。
但是,我遇到的问题是我的网络浏览器需要两次下载相同的 HTML 文件。
我试图弄清楚如何只下载一次文件而不是多次。
这是我的代码:
const callAPI = () => {
Axios.post(api_endpoint, bodyArgs)
.then((response) => {
const url = window.URL.createObjectURL(new Blob([response.data]));
const link = document.createElement("a");
link.href = url;
link.setAttribute("download", `${company}_${startDate}_${endDate}.html`);
document.body.appendChild(link);
link.click();
})
.catch(function (error) {
![图片[1]-如何阻止文件从 JavaScript Blob 多次下载?-唐朝资源网](https://images.43s.cn/wp-content/uploads//2022/06/1655209379751_3.jpg)
console.log(error);
alert(
"Sorry, there was an error processing your request. Please check the dates of your report and try again!"
);
});
};
我的代码的 .then 块中是否存在问题,或者这是特定于 Web 浏览器的问题?任何帮助是极大的赞赏。谢谢。
© 版权声明
本站下载的源码均来自公开网络收集转发二次开发而来,
若侵犯了您的合法权益,请来信通知我们1413333033@qq.com,
我们会及时删除,给您带来的不便,我们深表歉意。
下载用户仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,访问及下载者下载默认同意本站声明的免责申明,请合理使用切勿商用。
THE END
暂无评论内容