使用Angular JS

时间:2017-10-03 04:03:40

标签: javascript angularjs amazon-web-services amazon-s3

我在我的一个网站上使用Angular JS和WEB API。根据网站的要求,我使用Amazon S3将图像存储在存储桶中。

我正在使用WEB API使用accesskey和secretaccess密钥在我的Amazon S3 Bucket中动态上传图片。

但现在我想使用Angular JS在网站上显示那些上传的图像(不是一次全部)。请注意,水桶不公开。

任何人都可以通过分步指南分享确切的代码,以便使用Angular JS从Amazon S3检索图像吗?

已编辑(新增加)

根据回复,我添加了以下代码: -

$scope.retrieveImage = function()
{
   AWS.config.update({
            accessKeyId: "MyAccessKey", secretAccessKey: "MySecretKey"
        });

   var bucket = new AWS.S3({ params: { Bucket: "MyBucket" } });

   bucket.getObject({ Key: 'Datetime.png' }, function (err, file) {
     $scope.imgUrl = "";
   });
}

我现在收到以下错误: -

  

对预检请求的响应未通过访问控制检查:否   请求中存在“Access-Control-Allow-Origin”标头   资源。因此不允许来源“http://localhost:PortNumber”   访问。响应的HTTP状态代码为403。

我在MyBucket的许可中添加了以下CORS配置: -

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>

请让我知道该怎么做?

解决方案: - 将以下CORS标记修改为<AllowedHeader>*</AllowedHeader>就像魅力一样。感谢您的所有回复。

1 个答案:

答案 0 :(得分:1)

AWS有一个完整的例子,说明使用S3在网站上制作相册。它包括添加,删除图像和专辑。

http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-example-photo-album.html

希望它有所帮助。