有可能吗?我上传图片后没有权限。我认为应该将ACL: 'public-read'
放在数据中。
这是我的代码:
var data = {ACL: 'public-read', Bucket: 's3.bucket', Key: 'latest.png', Body: result.Body, ContentLength: result.ContentLength};
s3.putObject(data, function(err, output_data) {
if (err) {
console.log('Error uploading data: ', err);
}
else {
console.log('succesfully uploaded the image!');
}
});
但是我收到了这个错误:
Error uploading data: { AccessDenied: Access Denied
at Request.extractError (/var/runtime/node_modules/aws-sdk/lib/services/s3.js:539:35)
at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:105:20)
at Request.emit (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
at Request.emit (/var/runtime/node_modules/aws-sdk/lib/request.js:673:14)
at Request.transition (/var/runtime/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/var/runtime/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /var/runtime/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:38:9)
at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:675:12)
at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:115:18)
message: 'Access Denied',
code: 'AccessDenied',
region: null,
time: 2017-05-17T11:16:29.747Z,
存储桶本身具有所有权限。
答案 0 :(得分:2)
您的错误显示region:null。 S3具有唯一的全局端点,但它会将您的数据保存在某个特定位置,并且您必须在将内容上载到s3存储桶时提供区域。