2013-02-23 16 views
7

blur.jsを使用してユーザーのアップロードしたイメージをぼかすと、イメージがAmazon S3に保存されています。私は正しいCORS設定であることを考えるものを設定しましたが、画像がぼやけることができないと私はブラウザにこのエラーが表示されます。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>POST</AllowedMethod> 
    <AllowedHeader>*</AllowedHeader> 
    </CORSRule> 
    </CORSConfiguration> 

Unable to get image data from canvas because the canvas has been tainted by cross-origin data. 

ここに私のCORSの設定があります

何が悪いと思いますか?

+0

あなたのHTML/JSの消毒バージョンを掲示任意の機会に使用します画像上の「匿名」? –

答えて

3

CORSサポートに必要な正しいS3エンドポイントアドレス形式を使用していないとの疑いがあります。

すなわちS3バケットは、これらのフォーマットの両方をサポート:

  1. http://bucket.s3.amazonaws.com/object
  2. http://s3.amazonaws.com/bucket/object

しかし、唯一の最初のURLはdocumentationに応じCORSで動作します:

をCORSでは、バケットを明示的に設定することができますweb.s3-website-us-east-1.amazonaws.comからのクロスオリジンリクエストを有効にする。

+0

ああ、私は今それを試し、それが問題を解決するかどうかを見てみましょう。 –

5

私はちょうどやりました。基本的には、S3バケットの権限を編集して作業を進めるための手順に従うことができます。それ以上の助けが必要な場合は、コメントを残しておきます。

1)AWS Management Consoleのにサインインし、バケットリストでhttps://console.aws.amazon.com/s3/

2)でのAmazon S3コンソールを開き、プロパティを表示し、「CORSの設定を追加」をクリックします

バケツを開きます

amazon-screen-shot

3)あなたがタグの間に追加して喜んでいるルールを書く<CORSConfiguration>

<CORSConfiguration> 
    <CORSRule> 
    <AllowedOrigin>*</AllowedOrigin> 
    <AllowedMethod>GET</AllowedMethod> 
    <MaxAgeSeconds>3000</MaxAgeSeconds> 
    <AllowedHeader>*</AllowedHeader> 
    </CORSRule> 
</CORSConfiguration> 

あなたは時のルールについての詳細を学ぶことができます。http://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html

4)crossoriginを指定する=あなたのキャンバス

+4

Amazon S3はこれらの変更のいずれにも反応しないようです.... – Tyguy7

+1

' *'私のためにしました – awidgery

関連する問題