Как заставить браузер скачивать файл, а не отображать?

В БД бэка хранится json файл, мне нужно его передать пользователю для скачивания. В случае с экселями работает navigate to external link, где задается его адрес хранения. А джейсон скачиваться не хочет. Есть ли простые способы решения?

Пробовали так?

Да, так и пробую. Он точно хранится в базе files, я его вижу на фронте. Проблема в том, что браузер его отображает, а не скачивает

В настройках эндпоинта, в разделе Output нужно выбрать Download file. В таком случае автоматически приложением будет добавлен соответствующий заголовок content-disposition для скачивания файла.

Если этот заголовок не приходит в проекте или приходит, но не срабатывает - дайте знать.

Вот тут можно почитать подробнее.

Сделал так. Заголовок приходит, но скачивания не происходит. Содержимое файла при этом в ответе есть

PS кстати. Внутри этой же задачи мне необходимо сохранять json в базе как файл. JSON to Bytes напрямую не получилось соединить, а конвертация в YAML недопустимо преобразует содержание. Есть ли способы сохранить джейсон как есть?

Upd. Скачивание заработало методом Navigate to external link. Мне этого достаточно, спасибо.
При этом стандартный эндпойнт GET /_files/:id/download/ не вызывает загрузку

Если приходит заголовок Content-Disposition с attachment, то это правильное поведение со стороны бэкенда. Если файл не скачивается, то это поведение уже браузера и повлиять никак не можем.

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.