2017-06-29 6 views
0

Ich habe einen Tag lang versucht, aber ich kann es nicht beheben. Dieser Fehler ist in der Konsole aufgetreten.Das Bild kann nicht mit Froala auf S3 hochgeladen werden

XMLHttpRequest cannot load https://s3-us-east-2.amazonaws.com/My-bucket. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:4200' is therefore not allowed access. 

Und dies ist mein Code auf Angular2

imageUploadToS3: { 

bucket: 'flagfrog-article-cloud', 
region: 's3-us-east-2', 
keyStart: 'article-image/', 
params: { 
    acl: 'public-read', // ACL according to Amazon Documentation. 
    AWSAccessKeyId: 'AKIAJEMDZVXVLMPDNA4A', // Access Key from Amazon. 
    policy: 'Policy1498724219240', // Policy string computed in the backend. 
    signature: 'flagfrogweb', // Signature computed in the backend. 
} 

Dies ist meine CORS-Konfiguration auf Amazon S3.

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

Fehle ich hier etwas? Bitte Hilfe

Antwort

0

Amazon erlaubt keinen Platzhalter Ursprung. Ihre CORS-Konfiguration sollte in etwa so aussehen:

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

Ich habe versucht, dass Sie mich vorgeschlagen haben. Es funktioniert nicht. habe immer noch den gleichen Fehler. Bedeutet *, dass jeder Platzhalter zulässig ist? – Letmetake

+0

Amazon erlaubt '*' nicht für AllowedOrigin. Sie sollten stattdessen die URL der Seite angeben. – st3fan

+0

Jetzt habe ich stattdessen einen anderen Fehler. Es ist "OPTIONEN https://s3-ap-southeast-1.amazonaws.com/flagfrog-article-cloud 403 (Forbidden)". Wenn ich darauf klicke, wird Folgendes angezeigt: "Die von uns berechnete Anforderungssignatur stimmt nicht mit der von Ihnen angegebenen Signatur überein. Überprüfen Sie Ihren Schlüssel und die Signaturmethode." Irgendein Vorschlag ? Vielen Dank – Letmetake

Verwandte Themen