js下载文件

在JavaScript中,你可以使用各种方法来触发文件的下载。一个常见的做法是创建一个隐藏的<a>标签,设置其href属性为目标文件的URL或数据URL,并模拟点击事件。以下是一个示例代码:

代码示例:

处理blob对象的函数

function downloadBlob(blob, fileName) {
// 创建一个URL表示这个Blob对象
const url = URL.createObjectURL(blob);
// 创建一个隐藏的可下载链接
const a = document.createElement('a');
a.style.display = 'none';
a.href = url; a.download = fileName;
// 添加到DOM并触发点击,然后移除元素
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
// 清理URL
setTimeout(() => { URL.revokeObjectURL(url); }, 100);
// 或者在点击事件回调中执行 }

这个函数接受两个参数:urlfilenameurl可以是一个指向文件的服务器路径,也可以是一个数据URL(例如,从Canvas获取的图像)。filename是你希望用户下载的文件名。

函数调用:

// 假设你有以下Blob对象 
const myBlob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});

// 调用函数下载
Blob downloadBlob(myBlob, "hello.txt"); //两个参数,第一个是blob对象,第二个是文件名

blob对象的获取:

export const export1A = (params) => {
return request({
url: "/report/export1A",
method: "get",
params: params,
responseType: "blob", // 添加此行来指定响应类型为Blob
});
};

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值