Я пытаюсь выяснить, как добавить метаданные или заголовки (Expires, CacheControl и т. Д.) В файл, загруженный с помощью фасад Laravel 5.0 Storage. Я использую страницу здесь как ссылку.Добавить метаданные, заголовки (Expires, CacheControl) в файл, загруженный в Amazon S3 с использованием фасада Laravel 5.0 Storage
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',
];
Любая помощь в отношении того, как этого добиться, будет оценена по достоинству.
Это отлично подойдет для меня. Благодаря! –
Посмотрите мой ответ ниже (https://stackoverflow.com/a/46145866/7377984), если вы хотите установить глобальные значения по умолчанию в config – Paras