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

标签 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/web”值,这对我来说完全没用。因为浏览器仅响应“Content-Type” header 来决定是下载文件还是在浏览器中显示文件。

最佳答案

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

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

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

关于php - 在 s3 分段上传上设置内容类型元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17535301/

相关文章:

php - 日志中时间戳的时区?

amazon-s3 - hive - 使用外部或本地 s3 而不是 aws s3

java - 我自己的 Maven 插件如何获取 Maven Artifact 的可用版本?

PHP/MySQL 获取名称,其中 id = id

javascript - 自动刷新 div 不起作用

azure - 在 Azure/AWS 中读/写快照

java - ResultSetMetaData 是否为空?

metadata - Markdown 元数据格式

php - 自定义连接查询以获取 3 个表中的记录

amazon-web-services - 允许访问特定用户并限制所有用户的 S3 存储桶策略