Параметр download
Параметр download передаётся в функцию
static_file и управляет поведением
браузера при получении файла. Если параметр
установлен в True, Bottle добавляет
заголовок Content-Disposition: attachment,
и браузер предлагает сохранить файл на диск
вместо того, чтобы открывать его. Если в
качестве значения передать строку, она
используется как имя сохраняемого файла.
Синтаксис
static_file(filename, root, download=False)
Пример
Давайте отдадим файл 'data.txt' из
папки 'files' с принудительным
скачиванием:
from bottle import Bottle, static_file
app = Bottle()
@app.route('/download')
def download():
return static_file('data.txt', root='files', download=True)
Результат выполнения кода для адреса
/download - браузер скачает файл
data.txt.
Пример
Давайте зададим своё имя файла при скачивании через строку:
from bottle import Bottle, static_file
app = Bottle()
@app.route('/save')
def save():
return static_file('data.txt', root='files', download='article.txt')
Результат выполнения кода для адреса
/save - браузер скачает файл под
именем article.txt.
Пример
Давайте посмотрим, какие заголовки Bottle отправляет при скачивании:
from bottle import Bottle, static_file
app = Bottle()
@app.route('/headers')
def headers():
res = static_file('data.txt', root='files', download=True)
print(res.headers)
return res
Результат выполнения кода:
"Content-Disposition: attachment; filename=\"data.txt\""
Смотрите также
-
функцию
static_file,
которая отдаёт статические файлы -
параметр
root,
который задаёт корневую папку для файлов -
параметр
mimetype,
который задаёт MIME-тип отдаваемого файла -
параметр
charset,
который задаёт кодировку отдаваемого файла