如何使用 file-saver 导出文件到本地?
# 安装 file-saver 包
npm install file-saver --save
1
此外,可以通过以下方式安装TypeScript定义:
npm install @types/file-saver --save-dev
1
# 使用 require 保存文本
let FileSaver = require('file-saver');
let blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
FileSaver.saveAs(blob, "hello world.txt");
1
2
3
2
3
# 保存文本
let blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
saveAs(blob, "hello world.txt");
1
2
2
标准 W3C
文件 API Blob
接口不兼容所有浏览器。
Blob.js
是一个跨浏览器的 Blob
实现,可以解决兼容性问题。
# 保存画布(canvas)
let canvas = document.getElementById("my-canvas"), ctx = canvas.getContext("2d");
// draw to canvas...
canvas.toBlob(function(blob) {
saveAs(blob, "pretty image.png");
});
1
2
3
4
5
2
3
4
5
注意
标准的 HTML5 canvas.toBlob() 方法不兼容所有浏览器。
canvas-toBlob.js
是一个跨浏览器的实现 canvas.toBlob()
的 polyfill
方案。
# 保存文件
你可以保存一个文件结构,不需要指定文件名。文件自身已经包含了文件名,有一些方法来获取文件实例(从 storage
,file input
,新的构造函数)
如果你想修改文件名,你可以在第二个参数设置文件名。
let file = new File(["Hello, world!"], "hello world.txt", {type: "text/plain;charset=utf-8"});
saveAs(file);
1
2
2
或者
// 导入 file-saver 包
import fileSaver from "file-saver";
// 使用示例
let content = { content:"Hello, world!" };
let fileName = "file.js";
let blob = new Blob([JSON.stringify(content)], { type: "text/plain;charset=utf-8"});
fileSaver(blob, fileName);
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
上次更新: 2024/01/30, 00:35:17
- 02
- Node与GLIBC_2.27不兼容解决方案08-19
- 03
- Git清空本地文件跟踪缓存08-13