Свойство метаданных ContentDisposition не добавляется в файлы S3 с помощью AWS-SDK - PullRequest
0 голосов
/ 26 марта 2019

В моем приложении я использую S3 для хранения файлов. Но при получении этих файлов они открываются в новой вкладке. Но я хочу скачать эти файлы. После некоторых ссылок и документации AWS я узнал, что мы можем достичь этого, используя параметр метаданных ContentDisposition. Я сделал следующее:

s3.copyObject({
   CopySource: object.bucket + '/' + object.key,
   Bucket: BUCKET,
   Key: object.destKey,
   ContentDisposition: 'attachment; filename=some_file_name.jpg'
})

Когда я делаю, как указано выше, параметр метаданных ContentDisposition не добавляется (я проверил в консоли AWS S3). Я не уверен, где я делаю неправильно. Пожалуйста, помогите мне решить эту проблему.

Спасибо ...

Ответы [ 2 ]

0 голосов
/ 26 марта 2019

RFC-6266 указывает, что имя файла является строкой в ​​кавычках.

ContentDisposition: 'attachment; filename="some_file_name.jpg"'
0 голосов
/ 26 марта 2019

Не знаю, почему это не сработало.Но после долгих исследований я наткнулся на этот пост .И когда я получал эти объекты, я отправлял параметры вроде следующего:

return s3utils.getSignedUrl({
  filePath: key,
  type: 'getObject',
  "ResponseContentDisposition": 'attachment'
});

Использование параметра ResponseContentDisposition помогло мне.Но, все еще не уверен, почему copyObject с ContentDisposition не работает.

Все еще вопрос открыт

Спасибо ...

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