2
我試圖在Ajax調用上傳圖片到Amazon S3,但得到錯誤,如:無法上傳到Amazon S3圖像中的Ajax調用
的XmlHttpRequest無法加載https://bucketname.s3.amazonaws.com/。否'訪問控制 -
Allow_Origin'標題出現在請求的資源上。因此不允許原產地'null'訪問。
我的JavaScript是這樣的:
var xmlhttp = XmlHttpRequesr();
var file = document.getElementById('file').files[0];
var fd = new FormData();
var key = "events/" + (new Date).getTime() + '-' + file.name;
POLICY_JSON = {"expiration": "20020-01-01T00:00:00Z","conditions": [ {"bucket": "s3-bucket"},
["starts-with", "$key", ""], {"acl": "private"},{"success_action_redirect": "LOCALHOST"},
["starts-with", "$Content-Type", ""], ["content-length-range", 0, 1048576] ] };
var secret = this.get('key');
var policyBase64 = window.btoa(JSON.stringify(POLICY_JSON));
console.log (policyBase64);
var signature = b64_hmac_sha1(secret, policyBase64);
b64_hmac_sha1(secret, policyBase64);
fd.append('key', 'uploads/${filename}');
fd.append('acl', 'private');
fd.append('Content-Type', file.type);
fd.append('AWSAccessKeyId', key);
fd.append('policy', policyBase64);
fd.append('signature',signature);
fd.append("file",file); xmlhttp.open('POST', Url, true); xmlhttp.send(fd); }
誰能幫我解決這個問題呢?
雅謝謝你,我已經修復這個錯誤,我想知道的一件事是上傳它的狀態代碼爲303後,我該如何解決這個問題? – Karthik