添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

此外,可以通过以下方式安装TypeScript定义:

# Additional typescript definitions
npm install @types/file-saver --save-dev

saveAs() 从文件保存器导入

import { saveAs } from 'file-saver';
FileSaver saveAs(Blob/File/Url, optional DOMString filename, optional Object { autoBom })

传递 { autoBom: true } 如果你想FileSaver.js自动提供Unicode文本编码提示(:见 字节顺序标记 )。请注意,只有在您的Blob类型已 charset=utf-8 设置的情况下才能执行此操作。

使用保存文字 require()

var FileSaver = require('file-saver');
var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
FileSaver.saveAs(blob, "hello world.txt");
var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
FileSaver.saveAs(blob, "hello world.txt");
FileSaver.saveAs("https://httpbin.org/image", "image.jpg");

在相同来源内使用URL只会使用 a[download] 。否则,它将首先检查它是否支持带有同步头请求的cors标头。如果是这样,它将下载数据并使用Blob URL保存。如果没有,它将尝试使用下载它 a[download]

标准的W3C File API Blob 接口并非在所有浏览器中都可用。 Blob.js Blob 解决此问题的跨浏览器实现。

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

注意:标准HTML5 canvas.toBlob()方法并非在所有浏览器中都可用。 canvas-toBlob.js是一个跨浏览器canvas.toBlob(),可以对此进行填充

您可以保存File构造函数而无需指定文件名。如果文件本身已经包含名称,则有很多方法可以获取文件实例(从存储,文件输入,新构造函数,剪贴板事件)。如果仍要更改名称,则可以在第二个参数中更改它。

// 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);

四、具体使用

下面是项目中使用file-saver封装几种常见格式的导出,这里后台主要输出文件流形式,如下:

在文件exportFile.js中封装方法:

import FileSaver from "file-saver";
export default class fileSave {
     * 导出Excel文件
     * @param {*} res   文件流
     * @param {*} name  文件名
    static getExcel(res, name) {
        let blob = new Blob([res], {
            type: "application/vnd.ms-excel"
        FileSaver.saveAs(blob, name + ".xlsx");
     * 导出CSV文件
     * @param {*} res   文件流
     * @param {*} name  文件名
    static getCsv(res, name) {
        let blob = new Blob([res], {
            type: "application/vnd.ms-excel"
        FileSaver.saveAs(blob, name + ".csv");
     * 导出图片1
     * @param {*} url 图片地址
     * @param {*} name  文件名
    static getImgURLs(url, name) {
        let last = url.substring(url.lastIndexOf("."), url.length);
        FileSaver.saveAs(url, `${name}${last}`);
     * 导出图片2
     * @param {*} res 文件流
     * @param {*} name  文件名
    static downLoadImg(res, filename) {
        let blob = new Blob([res], {
            type: "image/jpeg"
        FileSaver.saveAs(blob, `${filename}.jpg`);
import exportFile from '@/utils/exportFile'
exportFile.getExcel(res.data, '近年走势')
一、安装# Basic Node.JS installationnpm install file-saver --savebower install file-saver此外,可以通过以下方式安装TypeScript定义:# Additional typescript definitionsnpm install @types/file-saver --save-dev二...
FileSaver.js文件导出的js文件,能够对网页的table内容进行导出 导出格式为txt,xhtml,也能够导出图片文件导出格式为png格式图片 配合Blob.js能够对excl文件格式进行导出
在项目开发,遇到将HTML导出生成word文档,刚开始在网上找了很多资料,基本都是jQuery的插件jquery.wordexport.js,刚开始是不想用这个的,这个要引用另一个插件FileSaver.js;但是没有找到更好的方法,所以在这里记录下js将HTML导出生成word文档的方法;如果有其他方法的可以提供下链接;学习下 jquery.wordexport.js插件的代码,了解到了...
建立exportFile.js在utils import FileSaver from "file-saver"; export default class fileSave { * 导出Excel文件 * @param {*} res 文件 * @param {*} name 文件名 static getExcel(res, name) { 因为现在接手的项目,是基于上一个项目的框架。两个项目功能点差不多。但是在导出word这块,是后台java做的。也就是用的POI。前端传递参数至后台,后台将word模板的${XXX}给替换掉。 但是这有一个问题,就是新项目,word排版改了,跟之前的不一样。你以为改改wo... 二、创建exportFile.js文件 import FileSaver from "file-saver"; export default class fileSave { * 导出Pdf文件 * @param {*} res 文件 * @param {*} name 文件名 static getPdf(res, name) { let blob = new Blob npm install html-docx-js-typescript --save-dev 支持node.js和浏览器环境,包括vue / react / angular。 Vue.js用法演示: import { asBlob } from 'html-docx-js-typescript' // if you want to save the docx file, you need import 'file-saver' import { saveAs } from 'file-saver' const htmlString = `<!DOCTYPE html> <html lang="en"> <meta charset="UT 添加js文件 下载所需的两个文件:Blob.js、Export2Excel.js 新建vendor,名称不一定非是vendor,建议但不非得将此目录放在与单页面同级的目录。将上面两个js文件放在vendor目录。 Blob.js 代码如下: /* eslint-disable */ /* Blob.js * A Blob implemen
http://wenku.baidu.com/link?url=6oiIadyF9eFS4VshKbfJDnxrBh2IX919ndi0JO8yoqTRNRNIpavFrZJ9LPVb-FBSfbRYINuJpUY7Q2uP_we559QV7Ri7wqm1r7EXhigBl3a 下载文件文件名相同会被覆盖: 以下是两种重命名文件的方法,妈蛋的函数写错了,让我整了一早上: import htmlDocx from 'html-docx-js/dist/html-docx'; import saveAs from 'file-saver'; 3、点击事件实现导出 <template> <div class="about"> <button @click="this.expor
vue报错 Error in callback for immediate watcher "height": "TypeError: Cannot read property 'style' of 31081 vue报错 Error in callback for immediate watcher "height": "TypeError: Cannot read property 'style' of 鹏仔工作室: 试试写在 this.$nextTick(()=>{ }) 3、vue报错use a data or computed property based on the prop's value. qq_40877578: 所以你降到哪个版本了啊?我降了版本也不行,把属性删完了也不行,一直报这个错 vue项目报错[Vue warn]: Property “visible“ must be accessed with “$data.visible“ because properties start weixin_63665943: Message太多了 vue项目报错[Vue warn]: Property “visible“ must be accessed with “$data.visible“ because properties start weixin_63665943: Message太多了 vue中使用file-saver导出文件 小超爱吃糖: 请问您解决指定下载路径的问题了吗