js实现用户选择文件夹保存文件到本地

简而言之:

实现的基础是浏览器本身的下载机制

我们要做的是如何在js上将数据变成一个可以被浏览器下载的东西

第一步:使用Blob对象将你要保存在本地的数据转换成二进制数据

第二部:window.URL.createObjectURL方法,制造一个指向上面的二进制数据的url

第三部:通过动态添加a标签来实现保存二进制数据的目的

下面是一个例子:

        let data="abc";//要保存的数据
        //第一步
        let blob=new Blob([data],{type:"text/plain;charset=UTF-8"});
        //第二步
        let url=window.URL.createObjectURL(blob);
        
//这里你会看到类似的地址:blob:http://localhost:8080/d2dbbe3f-7466-415b-a2d0-387cff290acb
        console.log(url);
         //动态创建a标签
        let link=document.createElement('a');
        link.style.display="none";
        link.href=url;
        link.setAttribute('download','model.txt');
        document.body.appendChild(link);
        link.click();
        document.body.removeChild(link);

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值