我的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在页面上显示了带有文本的页面,但是在空白页面上显示了应该包含图像(图表)的页面。也许这是编码问题?
好的,我首先猜到这与编码有关。确保在http请求上设置正确的标题,encoding: 'binary'
并在使用.writeFile()时使用正确的编码。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句