问题描述
当将单个对象放入存储桶的目录中时,如何在不带前缀“ x-amz-Meta”的元数据中添加Cache-Control键。当从PHP project的API上传到特定目录时,我们想在对象上设置此键端点。
例如我们的存储桶中有2个目录。 1.图片 2.视频
当我们在图像目录中放置任何对象时,我们想在不带前缀“ x-amz-Meta”的元数据中设置“ cache-control”键。 但是,当我们在视频中放置任何对象时,我们不需要元数据中的“缓存控制”键。
我已尝试使用以下代码在元数据中设置Cache-Control标记
$disk = Storage::disk('s3');
$disk->put(
file.jpg,file_get_contents(file.jpg),[
'visibility' => 'public','Metadata' => array(
'Cache-Control' => 'max-age=2500000'
)
]
);
这很好用,但是元数据键名就像带有前缀“ x-amz-Meta-cache-control”一样。我们不希望这样的键名。
如果有人有解决方案,请帮助我们。
解决方法
尝试后,我们可以成功解决此问题。首先,我们尝试在元数据数组中设置CacheControl,但它并没有按照我们的要求进行。
然后,在我们尝试将其设置为数组异常(如下所示)后,它就可以正常工作。
$disk = Storage::disk('s3');
$disk->put(
file.jpg,file_get_contents(file.jpg),[
'CacheControl' => 'max-age=2500000','visibility' => 'public',]
);
谢谢