Я пытаюсь загрузить изображения в мое хранилище S3 с использованием заранее заданного URL-адреса, но меня блокирует cors.
это моя текущая конфигурация Cors в консоли AWS. Но я пробовал много вещей, таких как добавление заголовка HEAD, используя localhost: 3000, где мое приложение запускается как AllowedOrigin, используя * в AllowedHeader, и некоторые другие вещи, которые я не помню
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Content-Type</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Вот конечная точка, где я генерирую предопределенный URL. Он работает нормально и возвращает URL
router.post(
'/upload/:type',
({ params, body }, res) => {
const key = `${params.type}/${uuid()}.jpeg`;
console.log(body)
storage.getSignedUrl(
'putObject',
{
Bucket: 'beautyfit-development',
ContentType: body.fileType ,
Key: key
},
(err, url) => {
if (err) return res.status(500).send(JSON.stringify(err));
res.send({ key, url })
}
);
}
);
. Эту функцию я использую, чтобы сделать запрос
const uploadFileService = (signedUrl, file) => {
return axios.put(signedUrl, file, {
headers: {
'Content-Type': file.type
}
});
}
. В консоли axios печатает
xhr.js. : 166 OPTIONS https://beautyfit -development.s3.amazonaws.com / блоги / 4f2ea030-f9ea-11e9-A803-a7ea0b838414.jpeg AWSAccessKeyId = AKIA5MKCI3PY7KCLCF7V & Content-Type = изображение% 2Fjpeg & Истекает = 1572312935 & Подпись = fmgD9e9YUtOtGTNkt1LhwHmjOTM% 3D ? 403 (Запрещено)
А затем
Доступ к XMLHttpRequest по адресу https://beautyfit -development.s3.amazonaws.com / blogs / 4f2ea030-f9ea-11e9-a803-a7ea0b838414. jpeg? AWSAccessKeyId = AKIA5MKCI3PY7KCLCF7V & Content-Type = image% 2Fjpeg & Expires = 1572312935 & Signature = fmgD9e9YUtOtGTNkt1LhwHmjOTM% 3D 'политика не проверена: запрос на проверку не получен: проверка 1025 не проверена: ответ на запрос CORE не проверен: запрос 1025 не проверен: ответ на запрос CORE не был получен: проверка 1025 не была получена из-за того, что проверка не проверена: запрос 1025 не проверен: ответ на запрос CORF не был получен: ответ 10: ** не проверен: не получен запрос на проверку CORE: не проверен 1025 **Заголовок «Access-Control-Allow-Origin» присутствует на запрашиваемом ресурсе.
Какая-то идея, где моя ошибка?