从API检索的PDF中的空白页

时间:2016-12-31 01:15:01

标签: node.js pdf meteor encoding fs

我的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 个答案:

答案 0 :(得分:1)

好的,所以我第一次猜到这与编码有关。 确保在http请求encoding: 'binary'上设置正确的标头,并在使用.writeFile()时使用正确的编码。

来源:Node express save pdf from binary string