Laravel 5.0 Storage ファサードを使用してアップロードされたファイルにメタデータまたはヘッダー (Expires、CacheControl など) を追加する方法を見つけようとしています。こちらのページを参考にさせていただきました。
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'));
ただし、「visibility」パラメーターを文字列から配列に変換できないというエラーが発生します。AwsS3Adapter のソースを確認したところ、オプションのコードがあるようですが、それらを正しく渡す方法がわかりません。以下が必要だと思います。
protected static $metaOptions = [
'CacheControl',
'Expires',
'StorageClass',
'ServerSideEncryption',
'Metadata',
'ACL',
'ContentType',
'ContentDisposition',
'ContentLanguage',
'ContentEncoding',
];
これを達成する方法についての助けをいただければ幸いです。