欢迎访问个人我的博客:http://www.xiaolongwu.cn前端
最近在作一个项目,有个需求就是,前端在内存中维护了一个很复杂的json对象,当点击下载按钮时,须要把这个json对象保存到文本中并下载到本地。git
假如在咱们项目中有个json对象以下:github
var jsonObj = { name: 'Leon WuV', age: 23 }
当咱们点击下载按钮时,调用以下方法json
function downFlie() { // 建立a标签 var elementA = document.createElement('a'); //文件的名称为时间戳加文件名后缀 elementA.download = +new Date() + ".tpl"; elementA.style.display = 'none'; //生成一个blob二进制数据,内容为json数据 var blob = new Blob([JSON.stringify(jsonObj)]); //生成一个指向blob的URL地址,并赋值给a标签的href属性 elementA.href = URL.createObjectURL(blob); document.body.appendChild(elementA); elementA.click(); document.body.removeChild(elementA); }
能够看到文件已经下载到本地了app
.jpg)学习
咱们在打开文件看下内容spa
.jpg).net
也没有问题,是刚才咱们维护在内存中的哪一个json对象code
function downFile() { var elementA = document.createElement('a'); elementA.setAttribute('href', 'data:text/plain;charset=utf-8,' + JSON.stringify(json1)); elementA.setAttribute('download', +new Date() + ".tpl"); elementA.style.display = 'none'; document.body.appendChild(elementA); elementA.click(); document.body.removeChild(elementA); }
固然第二种方式和第一种方式的结果是彻底同样的,感受第二种方式更为简单。对象
github资源地址:js基础--将内存中的数据保存为文件下载到本地
个人CSDN博客地址:https://blog.csdn.net/wxl1555
若是您对个人博客内容有疑惑或质疑的地方,请在下方评论区留言,或邮件给我,共同窗习进步。
邮箱:wuxiaolong802@163.com