我正在使用一种报告软件,该报告将我的报告以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。
答案 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');
});