2013-07-08 2 views
3

PHP에서 s3 api를 사용하여 업로드 할 파일에 대한 콘텐트 유형 메타 데이터를 설정하려고합니다. 내 코드는 다음과 같습니다 s3 다중 파트 업로드시 콘텐트 유형 메타 데이터 설정

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

내가 "비디오/WEBM"콘텐츠 형식이 있다고 가정, 내 S3 브라우저에서 볼 수있는 결과는 "콘텐츠 형식이"을 "이진/진수 스트림"을 설정하는 것이있다 s3는 "video/wemb"값을 가진 "x-amz-meta-content-type"을 만들어 내 목적을 위해 전혀 쓸모가 없습니다. 브라우저는 "Content-Type"헤더에 대해서만 응답하기 때문에 파일을 다운로드할지 아니면 브라우저에 표시 할지를 결정합니다.

답변

4

나는 문제를 발견한다. 오해이었다. Content-Type 메타 데이터는 createMultipartUpload 함수에서 자체 매개 변수를 갖습니다.

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

나는 이것에 대해 모르지만 사용자의 것을 나타 내기 위해서 그것으로는 x-AMZ-메타 접두사를 추가 S3 메타 데이터를 제공 어떤 이름을 것 같다 그래서이 코드 조각은 괜찮 았는데 정의 된 메타 데이터.

+0

그래, 여기에 의견이 맞습니다. 의심스러운 경우 [API 문서] (http://docs.aws.amazon.com/aws-sdk-php-2/latest/class-Aws.S3.S3Client.html#_createMultipartUpload)를 확인하십시오. 거기에 ContentType 매개 변수가 나열됩니다. –

관련 문제