我的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这是编码问题吗?
答案 0 :(得分:1)
好的,所以我第一次猜到这与编码有关。
确保在http请求encoding: 'binary'
上设置正确的标头,并在使用.writeFile()时使用正确的编码。