php – 使用Laravel 5.0 Storage外观将元数据,头(Expires,CacheControl)添加到上传到Amazon S3的文件

php – 使用Laravel 5.0 Storage外观将元数据,头(Expires,CacheControl)添加到上传到Amazon S3的文件,第1张

概述我试图找出如何添加元数据或标题(Expires,CacheControl等)到使用Laravel 5.0 Storage Facade上传的文件.我用这个页面作为参考. http://laravel.com/docs/5.0/filesystem 以下代码正常工作: Storage::disk('s3')->put('/test.txt', 'test'); 挖掘之后,我还发现有一个’visibi 我试图找出如何添加元数据或标题(Expires,CacheControl等)到使用Laravel 5.0 Storage Facade上传的文件.我用这个页面作为参考.

http://laravel.com/docs/5.0/filesystem

以下代码正常工作:

Storage::disk('s3')->put('/test.txt','test');

挖掘之后,我还发现有一个’visibility’参数将ACL设置为’public-read’,以便以下功能也正常工作.

Storage::disk('s3')->put('/test.txt','test','public');

但是我希望能够为文件的头部设置一些其他值.我已经尝试过以下内容:

Storage::disk('s3')->put('/index4.txt','public',array('Expires'=>'Expires,Fri,30 Oct 1998 14:19:41 GMT'));

哪个不行,我也试过:

Storage::disk('s3')->put('/index4.txt',array('ACL'=>'public-read'));

但是,这会造成一个错误,“可见性”参数无法从字符串转换为数组.我检查了AwsS3Adapter的源代码,似乎有代码可供选择,但我似乎无法看到如何正确传递它们.我认为这需要以下几点:

protected static $MetaOptions = [    'CacheControl','Expires','StorageClass','ServerSIDeEncryption','Metadata','ACL','ContentType','Contentdisposition','ContentLanguage','ContentEnCoding',];

任何帮助如何完成这一点将不胜感激.

首先,您需要调用getDriver,以便您可以发送一个选项数组.然后,您需要将数组作为数组发送.

所以你的例子:

Storage::disk('s3') -> getDriver() -> put('/index4.txt',[ 'visibility' => 'public','Expires' => 'Expires,30 Oct 1998 14:19:41 GMT']);

请注意,如果要设置“Cache-Control”,则必须将其作为“CacheControl”进行传递.对于具有非字母角色的其他键,这可能是正确的.

总结

以上是内存溢出为你收集整理的php – 使用Laravel 5.0 Storage外观将元数据,头(Expires,CacheControl)添加到上传到Amazon S3的文件全部内容,希望文章能够帮你解决php – 使用Laravel 5.0 Storage外观将元数据,头(Expires,CacheControl)添加到上传到Amazon S3的文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1265946.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存