我想在将图像上传到 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并不意味着对象键将在 data
回调参数中可用。
您可以根据存储桶的名称和请求数据的 params.Key
属性计算出创建对象的 S3 URI。
这是一个如何在 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)
});
关于javascript - S3 putObject 回调不返回预期的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34712995/