download. Задание нового тела ответа

$response:download[DATA]   

Идентичен
$response:body, но выставляет флаг, который браузер воспринимает как «Предложить посетителю сохранить файл на диске».

Имя файла передается браузеру в заголовке Content-Disposition. С версии 3.5.0 в него добавлено поле filename* для поддержки имен файлов в кодировке UTF-8.

Браузеры умеют отображать файлы некоторых типов прямо внутри своего окна (например DOC- и PDF-файлы). Однако бывает необходимо дать возможность посетителю скачать файл по простому нажатию на ссылку.

Пример: выдача PDF-файла
Посетитель заходит на страницу с таким HTML:
<a href="/download_documentation.html">Скачать документацию</a>

download_documentation.html:
$response:download[^file::load[binary;documentation.pdf]]

и нажимает на ссылку. Браузер предлагает ему скачать или открыть файл.


User comments:

moko 24.07.2015 13:15

Для отдачи файлов с диска правильнее использовать $response:download[ $.file[documentation.pdf] ]. В этом случае файл не будет предварительно загружен в память, а значит нет ограничений на размер файла.


In order to add comments you must register.
Copyright © 1997–2024 Art. Lebedev Studio | http://www.artlebedev.ru Дата обновления: 28.12.2024