Size: a a a

2020 December 23

СП

Сергей Предводителев... in Yii Framework 3
А куда можно добавить функцию, которая генерирует content-disposition?

Хотелось бы это в качестве хелпера иметь. Я такой загловок генерирую, когда временные ссылки в S3 хранилище делаю...
источник

СП

Сергей Предводителев... in Yii Framework 3
Там зависимость только от yiisoft/strings.
источник

AM

Alexander Makarov in Yii Framework 3
По идее, в yii-web.
источник

AM

Alexander Makarov in Yii Framework 3
FileResponse, например.
источник

AM

Alexander Makarov in Yii Framework 3
new FileResponse(path/to/file.jpg)
источник

СП

Сергей Предводителев... in Yii Framework 3
Alexander Makarov
По идее, в yii-web.
Теоретически может быть консольное приложение, которое генерить ссылку на файл в s3-хранилище и в этом приложении не будет yii-web
источник

СП

Сергей Предводителев... in Yii Framework 3
Сейчас в yii2  также нет публичного доступа к методу: https://github.com/yiisoft/yii2/blob/a1035ee43ee09ae7f053fbe618f252f9f265a892/framework/web/Response.php#L812

А нужен :)
источник

СП

Сергей Предводителев... in Yii Framework 3
Вот здесь: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html можно задавать response-content-disposition. Это как раз результат функции getDispositionHeaderValue. Поэтому хочется её куда-то в какой-то хелпер
источник

СП

Сергей Предводителев... in Yii Framework 3
Может быть в yiisoft/http добавить HeaderHelper  (но это добавит зависимость от yiisoft/strings)?
источник

AM

Alexander Makarov in Yii Framework 3
Сергей Предводителев
Теоретически может быть консольное приложение, которое генерить ссылку на файл в s3-хранилище и в этом приложении не будет yii-web
Это другое.
источник

AM

Alexander Makarov in Yii Framework 3
То что в Yii 2 — это посёрвить файл как ответ.
источник

AM

Alexander Makarov in Yii Framework 3
Тут именно про веб.
источник

СП

Сергей Предводителев... in Yii Framework 3
Alexander Makarov
То что в Yii 2 — это посёрвить файл как ответ.
да, когда вернуть ответ - верно.

Но я хочу вот этот метод публичный: https://github.com/yiisoft/yii2/blob/a1035ee43ee09ae7f053fbe618f252f9f265a892/framework/web/Response.php#L812
источник

СП

Сергей Предводителев... in Yii Framework 3
Мне не ответ надо вернуть, а сгенерировать content-disposition, чтобы на основании него сгенерить ссылку на s3
источник

AM

Alexander Makarov in Yii Framework 3
А...
источник

А

Алексей R in Yii Framework 3
Сергей Предводителев
Отправляю браузеру заголовок с именем файла:
Content-Disposition: attachment; filename=XXXX.png

В yii3 есть что-то, что может помочь нормализовать/экранировать название файла?

Внезапно оказалось, что, например, если в имени файла есть запятые, то браузер не принимает такое и ругается.
у меня это гдето было
либо в smart-stream либо в http-headers
источник

AM

Alexander Makarov in Yii Framework 3
Это да, какой-то HeaderHelper...
источник

AM

Alexander Makarov in Yii Framework 3
Алексей R
у меня это гдето было
либо в smart-stream либо в http-headers
М?
источник

СП

Сергей Предводителев... in Yii Framework 3
Alexander Makarov
Это да, какой-то HeaderHelper...
и можно его будет как раз в yii-web использовать :)

Но куда этот хелпер положить - вопрос
источник

А

Алексей R in Yii Framework 3
источник