javascript – S3 putObject回调不返回预期的对象

前端之家收集整理的这篇文章主要介绍了javascript – S3 putObject回调不返回预期的对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在将图像上传到S3后,我想获取文件链接(或文件名也很好).我上传使用下面的代码,它工作.

s3Bucket.putObject(data,function(err,data){
        if (err) { 
          console.log(err);
          res.send({result:0});
        } else {
          res.send({result:1});
          console.log(data)
        }
    });

但在回调数据中它只有1个属性etag.在文档中明确指出它有其他对象,那么如何获取上传文件的路径?

最佳答案
docs并不意味着对象密钥在数据回调参数中可用.

您可以根据存储桶的名称和请求数据上的params.Key属性计算出创建的对象的S3 URI.

这是一个如何在putObject回调中执行此操作的示例

s3Bucket.putObject(data,data) {
  var params = this.request.params;
  var region = this.request.httpRequest.region;
  console.log('s3://' + params.Bucket + '/' + params.Key);
  console.log('https://s3-' + region + '.amazonaws.com/' + params.Bucket + '/' + params.Key)
});

猜你在找的JavaScript相关文章