Я пытаюсь выяснить, как добавить метаданные или заголовки (Expires, CacheControl и т.д.) в файл, загруженный с использованием фасада Laravel 5.0 Storage. Я использую страницу здесь как ссылку.
http://laravel.com/docs/5.0/filesystem
Следующий код работает правильно:
Storage::disk('s3')->put('/test.txt', 'test');
После копания я также обнаружил, что существует параметр "видимости", который устанавливает ACL в "public-read", поэтому следующее также работает правильно.
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',
];
Любая помощь в том, как добиться этого, будет оценена.