簡體   English   中英

AWS S3存儲桶上傳中的CORS錯誤

[英]CORS error on AWS S3 bucket upload

我的AWS S3存儲桶CORS配置設置如下

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

並在瀏覽器中發出簽名的上傳請求:

function upload_file(file, signed_request, url){
    var xhr = new XMLHttpRequest();
    xhr.open("PUT", signed_request);
    xhr.setRequestHeader('x-amz-acl', 'public-read');
    xhr.onload = function() {
        if (xhr.status === 200) {
            $('#photo').css('background-image', "url('"+url+"')");
        }
    };
    xhr.onerror = function(err) {
        alert("Could not upload file.", err);
    };
    xhr.send(file);
}

但是chrome和firefox都拋出Access-Control-Allow-Origin標頭未設置錯誤。 特別是在Firefox中:“(原因:CORS標頭'Access-Control-Allow-Origin'丟失)。”

Access-Control-Allow-Headers標頭不允許使用通配符。 它必須包含實際的標頭名稱。

在網絡標簽中查看飛行前請求.Access Access-Control-Request-Headers標頭中的值必須作為AllowedHeader包括AllowedHeader

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM