如何解码base64解码文件并将其保存为pdf文件

时间:2019-04-20 00:15:52

标签: javascript node.js

我正在使用一种报告软件,该报告将我的报告以PDF文件的形式作为JSON文档的一部分返回给PDF事件,并以base64编码。当我从Web服务获取数据并将其写入文件时,我得到的文件似乎已损坏或无法显示报告数据。

request(options, async(err, resp, body) => {  

var bytes = await base64.decode(body.Data);

fs.writeFile("./Sample.pdf" , bytes , function(err) {
if(err) {
return console.log(err);
 }

console.log("The file was saved!");
}); 

所以不确定我在这里想念的是什么。我知道我有一个有效的编码字符串,因为我可以转到Free Formatter并粘贴我的字符串,并且当我单击“解码并下载”时,可以得到预期的有效PDF。

这里是编码文件的示例,我正尝试将其解码并另存为pdf。

Sample encoded string

1 个答案:

答案 0 :(得分:0)

经过反复试验,我发现了问题所在。当您具有base64编码的文件并且想要另存为二进制文件时,则无需解码该文件。您只需告诉fs.writeFile您有一个base64编码的文件,其余的就会完成

fs.writeFile("./SamplePdf.pdf", body.Data, {encoding: 'base64'}, async(err, data) =>  {
    if (err) {
          console.log('err', err);
          }
          console.log('success');
    });