2015-01-26 7 views
0

Я хочу переопределить Content-Type в «application/octet-stream» при отправке любого файла в s3 с помощью прекрасного загрузчика.Переопределить Content-Type при использовании FineUploader непосредственно в ведро S3

Я загружаю видеофайлы, и при их получении я никогда не хочу, чтобы они открывались браузером. Я всегда хочу загрузить.

Я попробовал переопределить его подписи подписи, но затем загрузка не прошла проверку подписи. Могу ли я получить прекрасную загрузку, чтобы сообщить s3, чтобы сохранить ее как «приложение/октет-поток»?

Или есть способ генерировать предварительно подписанный URL-адрес с помощью AWS SDK, чтобы он всегда отправлял «приложение/октет-поток»? Я думал, что это возможно, но, по крайней мере, в Chrome он пытается воспроизвести видео в браузере.

var headerOverrides = new ResponseHeaderOverrides { ContentType = "application/octet-stream" }; 

var urlRequest = new GetPreSignedUrlRequest 
{ 
     BucketName = _bucketName, 
     Key = key, 
     Expires = DateTime.Now.AddMinutes(120), 
     ResponseHeaderOverrides = headerOverrides, 
     Protocol = Protocol.HTTPS, 
     Verb = HttpVerb.GET 
}; 

ответ

2

Установка заголовка Content-Type для некоторого общего значения не правильный способ, чтобы решить вашу проблему. Вместо этого вам нужно будет установить соответствующий заголовок Content-Disposition. В настоящее время вам необходимо выполнить эту настройку на своем объекте через сервер, используя S3 API as part of handling Fine Uploader's upload success call. Существует an open case to allow these types of headers to be associated with each object client-side.

+0

Отлично, вместо того, чтобы изменять Content-Disposition при успешном загрузке, я просто изменил его при создании PreSignedUrlRequest, как это. 'var headerOverrides = new ResponseHeaderOverrides {ContentType = "application/octet-stream", ContentDisposition = string.Format ("application/octet-stream; filename = {0}", fileName)}; ' – NoseBagUK

+0

@NoseBagUK Я уверен, что вы хотите использовать« вложение »вместо« application/octet-stream ». –

+0

Когда вы говорите: «вам нужно будет сделать эту настройку на свой объект с помощью разъема», вы имеете в виду копирование объекта и добавление заголовков, которые вы хотите? Мне нужно как-то установить «Cache-Control» на мои объекты. Кроме того, когда вы ожидаете выхода 5.5.0? – Vidya

Смежные вопросы