4

PHPでs3 APIを使用してアップロードしているファイルのコンテンツタイプのメタデータを設定しようとしています。私のコードは次のようになります。

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

「video/webm」コンテンツ タイプがあるとします。s3 ブラウザーに表示される結果は、「Content-Type」が「binary/octet-stream」に設定され、s3 が「x-amz-meta-content-その中に「video / wemb」という値が含まれていますが、これは私の目的にはまったく役に立ちません。ブラウザは「Content-Type」ヘッダーにのみ応答して、ファイルをダウンロードするか、代わりにブラウザに表示するかを決定するためです。

4

1 に答える 1

6

私は問題を見つけました , それは一種の誤解でした. Content-Type メタ データには、createMultipartUpload 関数に独自のパラメーターがあります。したがって、このコードは問題なく機能しました。

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

これについてはわかりませんが、メタデータ s3 に指定した名前には、ユーザー定義のメタデータであることを示すために x-amz-meta プレフィックスが追加されているようです。

于 2013-07-08T21:08:19.310 に答える