js实现文件下载功能

在项目中,可能会遇到js下载文件、图片等一些资源,所以在这里记录下实现方式。

实现方式:

1. 获取需要下载的文件File对象

2. 通过File对象得到Blod对象

3. 通过创建a标签并触发a标签的点击事件实现下载

4. 释放资源已经删除a标签

直接上代码:

这里我封装一个方法传入特定参数就直接能实现下载功能

/**
 * 处理实现文件下载功能
 * @param {File}  file File 文件
 * @param {string} fileName 下载的文件名称包含后缀(比如:hello.png)
 * */
const handleUploadFile = (file, fileName) => {
    // 创建blob对象
    const blob = new Blob([file]);

    // 创建a标签,通过a标签实现下载
    const dom = document.createElement("a");
    dom.download = fileName;
    dom.href = URL.createObjectURL(blob);
    dom.id = "upload-file-dom";
    dom.style.display = "none";
    document.body.appendChild(dom);

    // 触发点击事件
    dom.click();

    // 释放资源
    URL.revokeObjectURL(dom.href);
    document.getElementById("upload-file-dom")?.remove();
}

最后调用此方法就能实现下载效果啦😆

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值