代码之家  ›  专栏  ›  技术社区  ›  simple user

使用Angular JS从Amazon S3私有bucket检索图像

  •  0
  • simple user  · 技术社区  · 8 年前

    我正在为我的一个网站使用Angular JS和WEB API。根据网站的要求,我使用亚马逊S3存储在桶图像。

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

    任何人都可以分享使用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 = "";
       });
    }
    

    我现在收到以下错误:-

    资源原点' http://localhost:PortNumber 因此不允许

    <?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 回复  |  直到 8 年前
        1
  •  1
  •   Kannaiyan    8 年前

    AWS在使用S3的网站上提供了一个完整的mantaing相册示例。它包括添加、删除图像和相册。

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

    希望有帮助。