Довольное Расположение изменения существующего объекта S3

В S3 REST API я добавляю метаданные к существующему объекту при помощи команды PUT (Copy) и копирую ключ к тому же местоположению с 'x-amz-metadata-directive' = 'REPLACE'

То, что я хочу сделать, изменить имя файла загрузки путем установки:

Content-Disposition: attachment; filename=foo.bar;

Это устанавливает метаданные правильно, но когда я загружаю файл, это все еще использует ключевое имя вместо 'foo.bar'

Я использую программный инструмент Браузер S3 для просмотра метаданных, и это выглядит корректным (кроме 'Content-Disposition' быть всем нижним регистром, как это, было S3, просят, чтобы я подписался),

Затем с помощью Браузера S3 я просто нажал, затем сохраните, ничего не изменяя, и теперь он работает???

Что я пропускаю каким образом, устанавливая метаданные 'Content-Disposition: attachment; filename=foo.bar;' из моего веб-приложения не работает, но действительно работает от Браузера S3?

9
задан Arun Chandran C 14 August 2013 в 09:59
поделиться

1 ответ

РЕШЕНО:

Доко на http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?RESTAuthentication.html

кажется неправильным, в нем говорится:

Обратите внимание, как заголовки «x-amz-» отсортированы, обрезаны пробелы, преобразованы в верхний регистр, а несколько заголовков с одним и тем же именем были объединены с использованием запятой для разделения значений.

Обратите внимание на то, что в StringToSign появляются только заголовки Content-Type и Content-MD5HTTPentity. Заголовки сущностей otherContent- * не отображаются. Однако Content-Disposition необходимо задавать специально и не включать как: x-amz -meta-Content-Disposition

Теперь он работает нормально.

7
ответ дан 4 December 2019 в 21:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: