js处理接口返回的二进制文件并下载,在线查看,空白问题

本文探讨了如何使用JavaScript处理接口返回的二进制文件,解决在线查看时可能出现的空白问题。关键在于设置responseType为"arraybuffer",并利用ArrayBuffer对象。同时,介绍了Blob接口的应用,并提供了相关Web API和Content-Type类型对应文件的参考资料链接。
摘要由CSDN通过智能技术生成
 const blob = new Blob([r.data]); //创建blob对象 
          const filename = item.fileName;  //下载文件的名称
          const downloadElement = document.createElement("a");  //创建a元素  
          const href = window.URL.createObjectURL(blob); //下载的链接
          downloadElement.href = href;
          [downloadElement.download] = [
            decodeURI(decodeURI(filename)),
          ]; //a元素添加download属性   
          document.body.appendChild(downloadElement); //添加元素
          downloadElement.click(); //点击下载
          document.body.removeChild(downloadElement); //下载完成移除元素
          window.URL.revokeObjectURL(href); //释放blob对

在线浏览文件

const blob = new Blob([r.data], {
        type: "application/pdf;chartset=UTF-8",
});
const href = window.URL.createObjectURL(blob);
window.open(href);

如果空白内容,尝试设置设置 responseType: “arraybuffer”, ArrayBuffer对象
在这里插入图片描述


this.$axios.get(url, {
          responseType: "arraybuffer",
        })

Web API Blob接口参考 文档地址
https://developer.mozilla.org/zh-CN/docs/Web/API/Blob
各种类型文件对应文件的 Content-Type
https://blog.csdn.net/qq_36521981/article/details/119931672

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长影缚苍龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值