2016-09-22 7 views
0

ajaxメソッドを使用してファイルをS3にアップロードしています。私のファイルは正常にアップロードされていますが(204コードあり)、まだ成功していません。エラーは発生しません。 要求されたリソースに 'Access-Control-Allow-Origin'ヘッダーがありません。次のようにAWS S3ファイルアップロード、「Access-Control-Allow-Origin」エラーが発生しない

私のクロスドメインポリシーは

<?xml version="1.0" ?> 
<cross-domain-policy> 
<allow-access-from domain="*" /> 
<allow-http-request-headers-from domain="*" headers="*"> 
</allow-http-request-headers-from> 
</cross-domain-policy> 

私のAjaxの方法、

$.ajax({ 
    url : url, 
    type: "POST", 
    data: data, 
    contentType: false, 
    processData: false, 
    success: function(){ 
     console.log("success") 
    }, 
    error: function(){ 
     console.log("error") 
    } 
    }) 
+0

ブラウザで画像URLを直接呼び出すと画像が表示されますか? – user6838959

+0

いいえ、しかし、私はs3のブラウザにアクセスしようとすると、特定の画像のリンクをコピーし、画像を見ることができるブラウザに貼り付けた後。 – Shruti

+0

画像の権限が正しく設定されていますか? awsコンソールからログアウトした後にコピーされたURLが機能していますか? – user6838959

答えて

0

、である。この文書の下http://docs.aws.amazon.com/AmazonS3/latest/UG/EditingBucketPermissions.html

はあなたが試すことができますサンプルXMLでお読みください。 examplesite.comをあなたのものに変更してください。バケットを右クリックして[権限]タブに移動し、[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> 
    <CORSRule> 
     <AllowedOrigin>http://*.examplesite.com</AllowedOrigin> 
     <AllowedMethod>GET</AllowedMethod> 
     <AllowedHeader>*</AllowedHeader> 
     <AllowedHeader>*</AllowedHeader> 
    </CORSRule> 
    <CORSRule> 
     <AllowedOrigin>*</AllowedOrigin> 
     <AllowedMethod>GET</AllowedMethod> 
    </CORSRule> 
</CORSConfiguration> 
関連する問題