我使用Amazon SDK for PHP并尝试在映像上设置缓存控制标头。当我尝试通过MetaData = array(“ Cache-Control”)添加它时,当我登录到S3存储桶时,将其更改为x-amz-meta-cache-control,并且在下载文件时,没有缓存控制集。但是,如果我手动更改此设置,则Cache-control可以完美运行。我缺少一些参数,可以用来在上传时以编程方式设置HTTP请求标头吗?我正在使用PutObject方法。我相信AWS开发工具包来自2013年。
缓存控件未通过“ MetaData”索引设置,“ CacheControl”与“ MetaData”处于同一级别,未包含在其中。
http://docs.aws.amazon.com/aws-sdk-php-2/latest/class-Aws.S3.S3Client.html#_putObject
您将使用类似这样的东西作为putObject()方法的配置数组...
$s3client->putObject(array(
'Bucket' => '...',
'key' => '...',
'body' => '...',
'CacheControl' => 'max-age=172800',
'MetaData' => array(
'metaKey' => 'metaValue',
'metaKey' => 'metaValue'
)));
对于upload()方法...
$s3client->upload(
'bucket',
'key',
fopen('sourcefile','r'),
'public-read',
array('params' => array(
'CacheControl' => 'max-age=172800',
'Metadata' => array(
'metaKey' => 'metaValue',
'metaKey' => 'metaValue'
))));
另外,值得指出的是,该文件upload()
将包裹putObject()
5MB的文件,否则将发起分段上传请求。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句