FileSaver.js 是在客户端保存文件的解决方案,非常适合需要生成文件,或者保存不应该发送到外部服务器的敏感信息的 web App 。
ES5 新增了相关 file ,blob ,fileList 等 API ,但不是所有浏览器都支持, file-saver 在没有原生支持 saveAs 的浏览器上实现了 saveAs() 接口。

安装

  1. npm install file-saver --save

安装 TS 定义

  1. npm install @types/file-saver --save-dev

使用

保存 text:

  1. import { saveAs } from "file-saver";
  2. const blob = new Blob(["hello"], {type: "text/plain;charset=utf-8"});
  3. saveAs(blob, "hello.txt");

保存URLs

  1. saveAs("https://ss1.bdstatic.com/0.jpg", "image.jpg");

保存canvas

  1. var canvas = document.getElementById("my-canvas");
  2. canvas.toBlob(function(blob) {
  3. saveAs(blob, "pretty image.png");
  4. });

保存文件

  1. // Note: Ie and Edge don't support the new File constructor,
  2. // so it's better to construct blobs and use saveAs(blob, filename)
  3. var file = new File(["Hello, world!"], "hello world.txt", {type: "text/plain;charset=utf-8"});
  4. FileSaver.saveAs(file);

相关链接: