在s3分段上传中设置内容类型元数据

时间:2013-07-08 20:20:33

标签: php amazon-s3 metadata

我正在尝试使用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-type“对我而言,其中包含”video / wemb“值,这对我来说完全没用。因为浏览器只响应“Content-Type”标题来决定是下载文件还是在浏览器中显示它们。

1 个答案:

答案 0 :(得分:5)

我发现问题,这是一种误解。 Content-Type元数据在createMultipartUpload函数中有自己的参数。所以这段代码工作正常:

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

我不知道这一点,但似乎您为元数据s3提供的任何名称都在其中添加了一个x-amz-meta前缀,以表明它是用户定义的元数据。