gpt4 book ai didi

javascript - 代表 PDF 到 blob 的 Base64 - JavaScript

转载 作者:可可西里 更新时间:2023-11-01 01:55:58 27 4
gpt4 key购买 nike

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

这是我的代码:

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

此代码无效。它保存了一个 test.pdf,表示它无法打开此 pdf,因为解码时出现错误。

我也试过这样做:

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

此代码也不起作用。我该怎么做?

最佳答案

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

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

关于javascript - 代表 PDF 到 blob 的 Base64 - JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36036280/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com