PUT для записи ведро: 400 - PullRequest
0 голосов
/ 29 октября 2018

Во время тестирования я обнародовал свое ведро (в будущем пользователи будут загружать свои файлы сюда - и Lambda будет загружать их): s3 Permissions

Мой CORS:

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

Мой JS:

input.onchange = function() {
    fetch('https://mybucketname.s3.amazonaws.com/', {
        'method': 'PUT',
        'body': this.files[0]
    })
}

Но ответ от S3 - 400 без объяснения причин. Перед PUT вижу удачные ВАРИАНТЫ. В документации я вижу только один обязательный заголовок - Content-Length - и браузер добавляет его.

1 Ответ

0 голосов
/ 29 октября 2018

URL! Вы должны указать имя файла как

https://mybucketname.s3.amazonaws.com/myfile.jpg

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...