fileSaverJS 客户端保存文件

FileSaver.js 在没有原生支持 saveAs() 的浏览器上实现了 saveAs() 接口。有一个 FileSaver.js 示例,演示如何保存各种媒体类型。
FileSaver.js 是在客户端保存文件的解决方案,非常适合需要生成文件,或者保存不应该发送到外部服务器的敏感信息的 web App。
你还在寻找 canvas.toBlob() 来保存画布?canvas-toBlob.js 可以跨浏览器实现这个功能。

  • 支持特征检测:
try {
    var isFileSaverSupported = !!new Blob;
} catch (e) {}
  • 语法
FileSaver saveAs(Blob/File data, optional DOMString filename, optional Boolean disableAutoBOM)

如果不希望 FileSaver.js 自动提供 Unicode 文本编码提示(参见:字节顺序标记),请将 disableAutoBOM 参数设置为 true。

  • 安装
npm install file-saver --save
  • 示例
import { saveAs } from 'file-saver';

FileSaver saveAs(Blob/File/Url, optional DOMString filename, optional Object { autoBom })


var FileSaver = require('file-saver');
//保存文本
var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
FileSaver.saveAs(blob, "hello world.txt");
//保存画布(canvas)
var canvas = document.getElementById("my-canvas"), ctx = canvas.getContext("2d");
// draw to canvas...
canvas.toBlob(function(blob) {
    saveAs(blob, "pretty image.png");
});
//保存网址
FileSaver.saveAs("https://httpbin.org/image", "image.jpg");
//保存文件
var file = new File(["Hello, world!"], "hello world.txt", {type: "text/plain;charset=utf-8"});
saveAs(file);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 工具 [Blob.js] Blob.js implements the W3C Blob interface i...
    萧哈哈阅读 3,328评论 0 0
  • 在实际开发过程中,有时需要将图表或者地图等基于Canvas技术渲染的数据下载到本地保存到情况,下面介绍两种方法来完...
    擎星阅读 7,372评论 0 0
  • 最近我同学找到我让我给她看一下她们的项目需求,表格数据导出到 Excel ,实现批量下载,下载的还是压缩包要求是 ...
    CondorHero阅读 6,857评论 0 6
  • 问题:本来想用js直接对xml进行修改,由于浏览器的信息保护,无法通过js直接操作本地文件 解决办法:通过调用Fi...
    锦锦_jane阅读 9,983评论 0 0
  • 使用Javascript生成和下载文件?如果考虑到这一点,这并不像您想的那样安全,如果没有用户交互,就不应该允许这...
    玄木阅读 19,066评论 0 7