S3 предварительно назначенный URL-адрес многоэлементная загрузка данных формы: ошибка: подпись не совпадает - PullRequest
0 голосов
/ 13 февраля 2019

Я получаю предварительно назначенный URL-адрес от aws и использую его для запроса (PUT) файла zip.Я получаю подпись не совпадает.

при получении заданного URL:

const params = {
            Bucket: myBucket,
            Key: myKey,
            Expires: 60*60,
            ACL: '**-**-**',
            ContentType: 'application/x-zip-compressed'}; 

при запросе:

const formData = new FormData();
        formData.append('file', file);
        formData.append('filename', file.name);

fetch(url, {
                method: 'PUT',
                headers: {
                    'Content-Type': 'application/x-zip-compressed',
                },
                body: formData
        })

1 Ответ

0 голосов
/ 13 февраля 2019

Какое бы значение ACL, которое вы используете в подписи, также необходимо отправлять в заголовках запроса, как 'x-amz-acl': '**-**-**'.

. Обратите также внимание, что S3 PUT не ожидает FormData- он ожидает, что body будет содержать только необработанных байтов объекта.Это не является причиной ошибки, но как только вы исправите ошибку подписи, вам также придется ее изменить, чтобы получить действительную и полезную загрузку.

...