FileSaver.js 是在客户端保存文件的解决方案,非常适合需要生成文件,或者保存不应该发送到外部服务器的敏感信息的 web App 。
ES5 新增了相关 file ,blob ,fileList 等 API ,但不是所有浏览器都支持, file-saver 在没有原生支持 saveAs 的浏览器上实现了 saveAs() 接口。
安装
npm install file-saver --save
安装 TS 定义
npm install @types/file-saver --save-dev
使用
保存 text:
import { saveAs } from "file-saver";
const blob = new Blob(["hello"], {type: "text/plain;charset=utf-8"});
saveAs(blob, "hello.txt");
保存URLs
saveAs("https://ss1.bdstatic.com/0.jpg", "image.jpg");
保存canvas
var canvas = document.getElementById("my-canvas");
canvas.toBlob(function(blob) {
saveAs(blob, "pretty image.png");
});
保存文件
// Note: Ie and Edge don't support the new File constructor,
// so it's better to construct blobs and use saveAs(blob, filename)
var file = new File(["Hello, world!"], "hello world.txt", {type: "text/plain;charset=utf-8"});
FileSaver.saveAs(file);
相关链接: