2017-10-03 1 views
-1

J'utilise Angular JS et l'API WEB pour un de mes sites Web. Conformément à l'exigence de site Web, j'utilise Amazon S3 pour stocker l'image dans le seau. J'utilise l'API WEB pour télécharger de l'image de façon dynamique dans mon compartiment Amazon S3 à l'aide des clés accesskey et secretaccess. Mais maintenant je veux afficher ces images téléchargées (pas toutes en même temps) dans le site Web en utilisant Angular JS. Veuillez noter que le seau n'est pas public.Récupérer l'image d'un seau privé Amazon S3 en utilisant Angular JS

Quelqu'un peut-il s'il vous plaît partager le code exact avec des directives étape par étape pour récupérer l'image à partir d'Amazon S3 en utilisant Angular JS?

Modifié (nouvelle addition)

Sur la base de la réponse que j'ai ajouté le code ci-dessous: -

$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 = ""; 
    }); 
} 

Je reçois l'erreur ci-dessous maintenant: -

Réponse pour la demande de contrôle en amont ne passe pas contrôle d'accès contrôle: Non L'en-tête 'Access-Control-Allow-Origin' est présent sur ledemandé 210 ressources. L'origine 'http://localhost:PortNumber' n'est donc pas autorisée accès. La réponse a un code d'état HTTP 403.

J'ai ajouté la configuration de CORS suivante dans l'autorisation de MyBucket: -

<?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> 

S'il vous plaît laissez-moi savoir ce qu'il faut faire à ce sujet?

Solution: - modifiant la balise CORS suivante à <AllowedHeader>*</AllowedHeader> œuvres comme un charme. Merci pour toutes vos réponses.

+0

Rechercher un mot-clé 'URL signé S3'. J'ai trouvé une bonne explication ici https://coderwall.com/p/mtcskq/signing-amazon-s3-urls –

Répondre