我正在尝试找出如何将元数据或标头(Expires、CacheControl 等)添加到使用 Laravel 5.0 存储门面上传的文件中。我已使用此处的页面作为参考。
http://laravel.com/docs/5.0/filesystem
以下代码正常工作:
Storage::disk('s3')->put('/test.txt', 'test');
挖掘后,我还发现有一个“可见性”参数将 ACL 设置为“公共读取”,因此以下内容也可以正常工作。
Storage::disk('s3')->put('/test.txt', 'test', 'public');
但我希望能够为文件的标题设置一些其他值。我尝试了以下方法:
Storage::disk('s3')->put('/index4.txt', 'test', 'public', array('Expires'=>'Expires, Fri, 30 Oct 1998 14:19:41 GMT'));
哪个不起作用,我也尝试过:
Storage::disk('s3')->put('/index4.txt', 'test', array('ACL'=>'public-read'));
但这会产生一个错误,即“可见性”参数无法从字符串转换为数组。我检查了 AwsS3Adapter 的来源,似乎有选项代码,但我似乎看不到如何正确传递它们。我认为需要以下几点:
protected static $metaOptions = [
'CacheControl',
'Expires',
'StorageClass',
'ServerSideEncryption',
'Metadata',
'ACL',
'ContentType',
'ContentDisposition',
'ContentLanguage',
'ContentEncoding',
];
任何有关如何实现此目的的帮助将不胜感激。