@elastic/filesaver

中文文档
1.1.2发布于 2017/08/09MITCommonJS零依赖近 30 天下载 10.7万
中文使用文档
文档目录10 节
  1. 支持的浏览器
  2. IE < 10
  3. 萨法里6.1+
  4. iOS系统
  5. 语法
  6. 实例
  7. 保存文本
  8. 保存画布
  9. 捐款
  10. 鲍尔安装

FileSaver.js 存档副本

文件Saver.js 执行 HTML5 W3C saveAs() 浏览器中的文件保护界面 并非本地人支持它。 有一个 文件saver.js 演示 显示保存 各种媒体类型.

FileSaver.js 是将文件保存在客户端的解决方案,并且很适合 需要生成文件的 webapp, 或保存不应保存的敏感信息 发送到外部服务器 .

寻找 canvas.toBlob() 保存画布? 检查出来 画布- 到 Blob.js 用于交叉浏览器执行.

支持的浏览器

浏览器构造为文件名最大块大小依赖关系
Firefox 20+ (英语)块对800个小米B无
火狐 < 20数据: URI没有无Blob.js (英语)
颜色块对500个小米无
安卓的颜色块对500个小米无
IE 10+ 数据块对600个小米B无
歌剧院 15+块对500个小米无
歌剧院 < 15数据: URI没有无Blob.js (英语)
萨法里 6.1+*块没有? 吗?无
萨法里 < 6数据: URI没有无Blob.js (英语)

特性检测是可能的 :

try {
    var isFileSaverSupported = !!new Blob;
} catch (e) {}

IE < 10

可以在 IE < 10 中保存文本文件,而不使用 Flash 为基础的多填充. 见 陈文布莱恩和克瑟鲁普 saveTextAs() 更多细节.

萨法里6.1+

有时会打开而不是保存 Blobs —— 您可能不得不引导您的 Safari 用户手动操作 新闻 ⌘+ 键页:1 以保存打开后的文件。 使用 application/octet-stream 强制下载的 MIME 类型 可以在萨法里引起问题。 。 。 .

iOS系统

setTimeout将防止被保存As触发。 由于 iOS 保存As 中的限制, 可以在新窗口中打开, 而不是下载, 如果您想要固定此选项, 请 告诉苹果 这个虫子是如何影响你的.

语法

FileSaver saveAs(in Blob data, in DOMString filename)

实例

保存文本

var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
saveAs(blob, "hello world.txt");

标准 W3C 文件 API Blob 界面并非在所有浏览器中都可用. Blob.js (英语) 是一个交叉浏览器 Blob 执行解决这个问题.

保存画布

var canvas = document.getElementById("my-canvas"), ctx = canvas.getContext("2d");
// draw to canvas...
canvas.toBlob(function(blob) {
    saveAs(blob, "pretty image.png");
});

注:标准 HTML5 canvas.toBlob() 方法并非在所有浏览器中都可以使用. 画布- 到 Blob.js 是一个交叉浏览器 canvas.toBlob() 混合填充这个.

Tracking image

捐款

这个 FileSaver.js 分发文件以 Uglify.js 编译 :

uglifyjs FileSaver.js --comments /@source/ > FileSaver.min.js

请在提交拉动请求前确保构建一个制作版本.

鲍尔安装

请看 此还原 用于一个与文件Saver.js相容的叉子,在包名下可用 file-saver.js。 。 。 .

版本与发布记录

@elastic/filesaver 共发布 1 个版本,首次发布于 2017/08/09;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.1.2latest2017/08/099 年前

关于 @elastic/filesaver 的常见问题

@elastic/filesaver 是什么?

https://github.com/eligrey/FileSaver.js (英语)

如何安装 @elastic/filesaver?

在项目目录运行 npm install @elastic/filesaver,或使用 pnpm add / yarn add / bun add。

@elastic/filesaver 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/elastic__filesaver 是否存在。

@elastic/filesaver 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@elastic/filesaver 可以商用吗?

@elastic/filesaver 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@elastic/filesaver 的下载量有多少?

根据 npm 官方下载统计,@elastic/filesaver 在 2026/10/14 – 2026/11/12 这 30 天内被下载 107,117 次,日均约 3,571 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@elastic/filesaver 还在维护吗?

最新版本 1.1.2 发布于 2017/08/09(9 年前);至今共发布 1 个版本,其中过去 12 个月发布了 0 个;首次发布于 2017/08/09。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。