Вы найдете подсказку в той же документации, далее в списке параметров:
as_attachment
- установите на True
, если вы хотите отправить этот файл с Content-Disposition: attachment
header.
Таким образом, когда флаг установлен, к ответу добавляется дополнительный заголовок, который контролирует, как браузер будет обрабатывать ответ.Из документации MDN по Content-Disposition
:
В обычном HTTP-ответе заголовок ответа Content-Disposition
является заголовком, указывающим, ожидается ли отображение содержимого встроенный в браузере, то есть в виде веб-страницы или как часть веб-страницы, или в виде вложения , которое загружается и сохраняется локально.
Без явного заголовка Content-Disposition
ответ text/html
с вашего сервера Flask будет отображаться как веб-страница в браузере.Если вам нужно было вместо этого сохранить файл на диск (браузер подсказывает вам, что делать с файлом), то вам нужно установить Content-Disposition: attachment
.
Поэтому, когда ваш тип содержимого ответа можетбудет отображаться в браузере как веб-страница, но вы хотите, чтобы пользователь вместо этого загружал ее, используйте as_attachment=True
.В наши дни, в дополнение к HTML, вы, вероятно, захотите установить этот флаг для изображений, файлов PDF и XML.