首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将PDF表示为blob的Base64 - JavaScript

将PDF表示为blob的Base64 - JavaScript
EN

Stack Overflow用户
提问于 2016-03-16 20:53:30
回答 3查看 44.3K关注 0票数 19

我有一个表示Base64文件的PDF字符串。我想用javascript把它转换成一个带有Blob对象的文件。完成后,我想使用FileSaver.js将blob保存为PDF文件。

下面是我的代码:

代码语言:javascript
复制
var base64PDF = JVBERi0xLjQNCiW0t..; // This is a huge string.
var blob = new Blob([base64PDF], { type: 'application/pdf' });
saveAs(blob, "test.pdf");

此代码不起作用。它保存了一个test.pdf,说它不能打开这个pdf,因为解码中有错误。

我也尝试过这样做:

代码语言:javascript
复制
var base64PDF = JVBERi0xLjQNCiW0t..; // This is a huge string.
var decode = atob(screen.prp_wcfria_ExternalFile.pdfFile);
var blob = new Blob([decode], { type: 'application/pdf' });
saveAs(blob, "test.pdf");

这段代码也不能工作。我该怎么做呢?

EN

Stack Overflow用户

发布于 2017-08-25 06:56:05

此javascript将base64字符串转换为blob对象:

代码语言:javascript
复制
// base64 string
var base64str = result.pdf;

// decode base64 string, remove space for IE compatibility
var binary = atob(base64str.replace(/\s/g, ''));
var len = binary.length;
var buffer = new ArrayBuffer(len);
var view = new Uint8Array(buffer);
for (var i = 0; i < len; i++) {
    view[i] = binary.charCodeAt(i);
}

// create the blob object with content-type "application/pdf"               
var blob = new Blob( [view], { type: "application/pdf" });
var url = URL.createObjectURL(blob);
票数 50
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36036280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档