Size: a a a

Clojure — русскоговорящее сообщество

2021 August 31

AF

Andrey Fёdorov in Clojure — русскоговорящее сообщество
Ну нужно добавить еще один хедер на эндпоинте бэка
источник

MB

Mikhail Beliansky in Clojure — русскоговорящее сообщество
А что это даст?
источник

MB

Mikhail Beliansky in Clojure — русскоговорящее сообщество
Добавить можно что угодно, бэк тоже я делаю)
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
у нас была такая же боль: генерация экселя на фронте. В итоге, если не ошибаюсь, перенесли ее на бек. Стало очень удобно
источник

MB

Mikhail Beliansky in Clojure — русскоговорящее сообщество
Ну, я вот сгенерировал на бэке, осталось пользователя осчастливить этим файлом)
источник

AF

Andrey Fёdorov in Clojure — русскоговорящее сообщество
Браузер будет воспринимать респонс как вложение, вместо инлайна. С таким хэдером файл будет скачиваться
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
есть либа для генерации экселя, она отдает input-stream, фигачишь его в тело ring с нужными заголовками и ладушки
источник

MB

Mikhail Beliansky in Clojure — русскоговорящее сообщество
Бэк на питоне, к сожалению. Приходят байты.
источник

MB

Mikhail Beliansky in Clojure — русскоговорящее сообщество
Пока вариант с одноразовой ссылкой выглядит самым простым(
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
можно эндпоинт-проксю сделать. при помощи clj-http получаешь стрим из того сервиса и отдаешь этот же стрим клиенту
источник

AF

Andrey Fёdorov in Clojure — русскоговорящее сообщество
А в чем проблема добавить хэдер в ответ по условию в зависимости от параметров запроса?
источник

MB

Mikhail Beliansky in Clojure — русскоговорящее сообщество
date: Tue, 31 Aug 2021 13:51:41 GMT
server: uvicorn
content-disposition: attachment; filename="report.xlsx"
content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
content-length: 15498
last-modified: Tue, 31 Aug 2021 13:51:41 GMT
источник

MB

Mikhail Beliansky in Clojure — русскоговорящее сообщество
Ничего не дает
источник

MB

Mikhail Beliansky in Clojure — русскоговорящее сообщество
Все равно респонс должен хэндлиться каким-то ивентом
источник

MB

Mikhail Beliansky in Clojure — русскоговорящее сообщество
Можно, конечно, делать прямой запрос через clj-http вместо фетча
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
просто ссылку <a /> отрендерить, чтобы прямо скачивала? в обход всех событий?
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Из старых способов — невидимый iframe, туда пихается url.
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
download тоже вроде можно, даже через js, но не везде.
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Мне кажется, невидимая ссылка -- самое простое

var a = doc.createElement('a')
a.href = "..."
a.class = "hidden"
doc.body.append(a)
a.click()
источник