下载带有filesaver.js和blob的pdf

时间:2015-11-03 08:24:22

标签: javascript filesaver.js

我尝试使用Filesaver.js下载文件。当我尝试用csv做这个时,它工作正常。但我现在需要下载pdf。

我该怎么做? 我使用Filesaver.js和blob对象,我的代码看起来像这样:

var filename = "myfile.csv";
var s = "my csv text content";
var blob = new Blob([s], {type "text/csv;charset=utf-8"});
var filesaver = saveAs(blob,filename);

当我想下载pdf时,我想知道应该将哪种数据类型传递给blob onject。

3 个答案:

答案 0 :(得分:1)

数据类型当然应该是application/pdf

内容应该在base64上,因此blob应该以

开头
data:application/pdf;base64,

正如您在库源代码中所看到的那样。

享受demo

答案 1 :(得分:1)

PDF完全是另一种格式,FileSaver的唯一任务就是保存文件。

您可以使用jsPDF库来执行此操作。这就是你如何在你的情况下使用它:

var filename = "myfile.csv";
var s = "my csv text content";

var pdf = new jsPDF();
pdf.text(10, 10, s);
pdf.save(filename.replace(".csv", ".pdf"));

答案 2 :(得分:0)

 var blob = new Blob([response.data], {type: "application/pdf;charset=utf-8"});
 var blob = new Blob([response.data], {type: "text/plain;charset=utf-8"});

两者都可以,但标题应为

{responseType:"arraybuffer"}