前端数据 用js 导出文件(文本,图片。。。)

        这篇文章记录FileSaver.js,需求来源于编码时奇怪的需求。

        github地址:https://github.com/eligrey/FileSaver.js/blob/master/dist/FileSaver.js

        在单独的HTML文件里使用:FileSaver.js是node项目,github上提供了typescript和webpack方式的使用方式,在单独的html页

面里引入FileSaver.js后,直接使用saveAs函数,而不是FileSaver.saveAs。。。

导出各种类型的文件:

        1、导出txt文件

//-----方式一------   filecontent是字符串
var file = new File([filecontent], "txt文件.txt", { type: "text/plain;charset=utf-8" });
saveAs(file);
// 方式二
var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
saveAs(blob, "hello world.txt");

        2、根据图片url导出图片 

// 第一个参数不要产生跨域问题,此处验证使用的是项目路径下的图片
saveAs("img/beauty.jpg", "image.jpg");

        3、 导出canvas图片

var canvas = document.getElementById("canvasid");
canvas.toBlob(function(blob) {
    saveAs(blob, "canvas.png");
});

        4、导出视频文件

saveAs("video/video.mp4", "video.mp4");

        5、导出csv 

var res = ['标题一,标题二,标题三,标题四','数据1,数据2,数据3,数据4']
var file = new File([res.join('\r\n')], "csv.csv", {type: "text/plain;charset=utf-8"});
saveAs(file);

        6、导出Excel文件 

              能导出已经存在了的xlsx文件,但是不能在程序里构建一个excel文件。对于这个问题,在下一个文章里

https://blog.csdn.net/shijie_nihao/article/details/99235834  介绍的sheetjs可以解决。

 

 

你可能感兴趣的:(JavaScript)