Настройка метаданных типа содержимого при загрузке нескольких частей s3


Я пытаюсь установить метаданные типа содержимого для файлов, которые я загружаю, используя api s3 в php. Мой код выглядит так:

 $upload_model = $s3->createMultipartUpload(array("Bucket" => $bucket , "Key"=> $key, "ACL"=>$acl , "Metadata" => array('Content-Type' => $this -> get_file_type($file_path) ) ) );

Предположим, что у меня есть тип контента "видео/webm", результат, который я вижу в своем браузере s3, заключается в том, что "Тип контента" установлен в "двоичный/октетный поток", а s3 создает для меня "x-amz-мета-тип контента" со значением "видео/wemb" внутри, что совершенно бесполезно для моей цели. Потому что браузеры реагируют только на заголовок "Тип содержимого", чтобы решить, загружать ли файлы или вместо этого покажите их в браузере.

Author: MKoosej, 2013-07-09

1 answers

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

$s3->createMultipartUpload(array("Bucket" => $bucket , "Key"=> $key, "ACL"=>$acl , "ContentType" => $this -> get_file_type($file_path) ) );

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

 5
Author: MKoosej, 2013-07-08 21:08:19