不保存PDF中的图像在node / expressJs中获取错误

时间:2015-05-05 11:54:14

标签: node.js pdf express

我有expressJs应用程序我要在PDF文件中保存图像这是我在pdf文件中保存图像的代码

exports.getPDF = function (req, res) {
  doc = new PDF();
  doc.pipe(fs.createWriteStream('./public/Competition.pdf'));  
    db.competitions.find({where: {id: req.params.competitionId}}).success(function(competition){

    //MY_URL_IS = http://d16dgegkincj5i.cloudfront.net/1_2_brandLogo_new_update_code-thumbnail.png

    var options = {
        host: 'http://d16dgegkincj5i.cloudfront.net',
        port: 80,
        path: '/1_2_brandLogo_new_update_code-thumbnail.png'
    }

    var request = http.get(options, function(res){
      var imagedata = ''
      res.setEncoding('binary')

      res.on('data', function(chunk){
        imagedata += chunk
      })

      res.on('end', function(){
        fs.writeFile('./public/Competition.pdf', imagedata, 'binary', function(err){
          if (err) throw err
          console.log('File saved.')
        })
      })
    })
  }).error(function(error){
  });
};

我收到错误

events.js:85
      throw er; // Unhandled 'error' event
            ^
Error: getaddrinfo ENOTFOUND

当我通过http.get获取图像并写入pdf文件后,它将给出错误而不是写图像

1 个答案:

答案 0 :(得分:2)

错误:

Error: getaddrinfo ENOTFOUND

表示找不到网址。

只需从主机中移除http://就可以完成这项工作,例如:

var options = {
    host: 'd16dgegkincj5i.cloudfront.net',
    port: 80,
    path: '/1_2_brandLogo_new_update_code-thumbnail.png'
}