将PDF内容上载到S3存储桶中

时间:2018-03-21 21:25:15

标签: node.js amazon-web-services pdf amazon-s3 aws-lambda

我尝试使用来自远程位置的数据下载PDF内容,并将内容作为pdf文件上传到S3。我在AWS lambda的上下文中使用NodeJS。 s3.putObject参数函数成功解析,并且pdf文件按预期保存到S3存储桶中,但查看时文档为空,表明所有数据可能尚未传递给s3.putObject。

这是我的代码。



const request = require('request')
const viewUrl = "https://link_to_downloadable_pdf/"
    
const options = {
  url: viewUrl,
  headers: {
    'Content-Type': 'application/pdf'
  }
};

request(options, function(err, res, body){
  if(err){return console.log(err)}
  const base64data = new Buffer(body, 'binary');
  const params = {
    Bucket: "myS3bucket",
    Key: "my-pdf.pdf",
    ContentType: "application/pdf",
    Body: base64data,
    ACL: 'public-read'
  };  
  
  s3.putObject(params, function(err, data) {
      if (err) {
        console.log(err);
      } else {
        callback(null, JSON.stringify(data))
      }  
  })




当我在Postman中测试URL时,它返回包含数据的PDF。知道为什么NodeJS代码可能没有做同样的事情吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用此代码吗? :)

return " ".join(text.split()[::-1])

我会注意任何事情。希望对您有帮助