2012-11-12 49 views
2

任何人都可以告訴我,如果我錯過了這裏的東西。這已添加到相關存儲桶中的CORS策略。Cors政策不允許上傳

<?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> 
     <MaxAgeSeconds>3000</MaxAgeSeconds> 
     <AllowedHeader>*</AllowedHeader> 
    </CORSRule> 
</CORSConfiguration> 

但是,當我嘗試做一個XHR上傳我仍然得到一個跨域錯誤。用這個把我的頭撞在牆上!

+0

您的瀏覽器是否發佈CORS預檢(OPTIONS)? – tkotisis

+0

不確定 - 它在OSX上的鑲邊 – PokeItWithAStick

+0

打開開發人員工具中的網絡選項卡並嘗試上傳。 – tkotisis

回答

0

你可以嘗試直接指定允許的標題嗎?

<AllowedHeader>Content-Type</AllowedHeader> 
<AllowedHeader>x-amz-acl</AllowedHeader> 
<AllowedHeader>origin</AllowedHeader> 
<AllowedHeader>accept</AllowedHeader> 
+0

我試過了 - 似乎沒有幫助。我要調查預檢 - 似乎是最有可能的候選人! – PokeItWithAStick

+0

您可以使用預檢請求和響應標頭更新您的問題嗎? – tkotisis

0

試試這個。它應該工作

<CORSRule> 
    <AllowedOrigin>*</AllowedOrigin> 
    <AllowedMethod>PUT</AllowedMethod> 
    <MaxAgeSeconds>3000</MaxAgeSeconds> 
    <AllowedHeader>Content-Type</AllowedHeader> 
    <AllowedHeader>x-amz-acl</AllowedHeader> 
    <AllowedHeader>origin</AllowedHeader> 
</CORSRule>