Javascript S3 putObject回调未返回预期对象
在我将图像上传到S3之后,我想获得文件的链接(或者文件名也可以)。我上传使用下面的代码,它的工作Javascript S3 putObject回调未返回预期对象,javascript,node.js,amazon-web-services,express,amazon-s3,Javascript,Node.js,Amazon Web Services,Express,Amazon S3,在我将图像上传到S3之后,我想获得文件的链接(或者文件名也可以)。我上传使用下面的代码,它的工作 s3Bucket.putObject(data, function(err, data){ if (err) { console.log(err); res.send({result:0}); } else { res.send({result:1}); console.log(data
s3Bucket.putObject(data, function(err, data){
if (err) {
console.log(err);
res.send({result:0});
} else {
res.send({result:1});
console.log(data)
}
});
但在回调数据中,它只有一个属性,即etag。在文档中,它清楚地说明了它有其他对象,那么如何获取上传文件的路径呢 并不意味着对象键将在数据
回调参数中可用
您可以根据bucket的名称和请求数据的params.Key
属性计算出所创建对象的S3URI
下面是一个如何在putObject
回调中执行此操作的示例
s3Bucket.putObject(data, function(err, 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)
});
这个网址会一直是这样吗?有没有办法从sdk中获取url(未签名)?