我的Web应用程序正在向外部API发出HTTPS GET请求 . 我收到的是一个以下列内容开头的PDF文件:
%PDF-1.4
我想要做的是将此PDF保存在服务器上,以便将此文件提供给客户端 . 问题是PDF中有一些空白页面应该没有 .
以下是负责检索PDF并将其保存到服务器的代码:
Meteor.http.get('url/' + chartId, {
headers: {
Authorization: 'Bearer ' + key.token
}
}, function(err, result) {
if(!err) {
var fs = Npm.require('fs');
var path = process.env['METEOR_SHELL_DIR'] + '/../../../public';
fs.writeFile(path + "/charts/" + Meteor.userId() + '.pdf', result.content, (function (err) {
if (err) {
console.log("Error:" + err);
}
}));
} else {
throw new Error('Error from API getting documents');
}
});
奇怪的是,我保存到服务器的PDF显示了带有文本的页面,但显示了应该有图像(图表)的空白页面 . Perhabs这是一个编码问题?
1 回答
好吧,我首先猜到这与编码有关 . 确保在http请求
encoding: 'binary'
上设置正确的标头,并在使用.writeFile()时使用正确的编码 .资料来源:Node express save pdf from binary string