У меня есть AWS S3 ведро конфигурация CORS устанавливается следующим образомCORS ошибка AWS S3 загрузки ковша
<?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);
}
Но как хром и firefox бросает заголовок Access-Control-Allow-Origin, не устанавливая ошибку. В частности, в firefox: «(Причина: заголовок CORS« Access-Control-Allow-Origin »отсутствует)».
Вам нужно будет сделать загрузку с сервера, а не от клиента от того, что я знаю о CORS. –
Из статей, которые я прочитал, вы можете напрямую загрузить в ведро S3. Я запускаю узел на сервере, поэтому хочу избежать прохода через загрузку ... – OliverJ90
Вы правы, хотя я сделал это только с помощью углового модуля (я помню сейчас). Виноват. –