在前端我们可以使用
input type="file"
标签来导入文件,但是导出的方式都略微复杂。
所以可以使用filesaver
这个包仅用两三行代码实现:
var FileSaver = require('file-saver');
var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
FileSaver.saveAs(blob, "hello world.txt");
//或者
var blob = new Blob([JSON.stringify(data)], {type: "application/json"});
FileSaver.saveAs(blob, "hello world.txt");
主要用了file-saver包及Blob包。
Blob包是一种二进制文件的转化器,具体介绍可以看这里
filesaver还可以处理其他的保存方式,如链接等。。。
具体信息可以查看NPM Api官网——file-saver
注意:如果用Chrome发现下载时没有弹出保存窗口,很有可能是设置问题,在 设置 > 高级 > 下载内容 > 打开“下载前询问每个文件的保存位置选项”即可。