Настройка метаданных типа содержимого при загрузке нескольких частей 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" внутри, что совершенно бесполезно для моей цели. Потому что браузеры реагируют только на заголовок "Тип содержимого", чтобы решить, загружать ли файлы или вместо этого покажите их в браузере.
1 answers
Я выясняю проблему, это было своего рода заблуждение. метаданные типа содержимого имеют свой собственный параметр в функции createMultipartUpload. так что этот фрагмент кода работал просто отлично:
$s3->createMultipartUpload(array("Bucket" => $bucket , "Key"=> $key, "ACL"=>$acl , "ContentType" => $this -> get_file_type($file_path) ) );
Я не знаю об этом, но, похоже, любое имя, которое вы предоставляете для метаданных s3, добавляет в него префикс x-amz-meta, чтобы указать, что это пользовательские метаданные.