response Alt ←

Статическое поле download

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

$response:download[DATA]

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

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

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

Пример: выдача PDF-файла

Посетитель заходит на страницу с таким HTML:

<a href="/documentation.html">Открыть документацию</a>
<a href="/documentation.html?download">Скачать документацию</a>

и нажимает на ссылку.

Содержимое documentation.html:

$file[^file::load[binary;documentation.pdf]]

^if($request:query eq "download"){
	$response:download[$file]
}{
	$response:body[$file]
}

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