Настройка flask.response в питоне - PullRequest
0 голосов
/ 10 июня 2018

Мне было интересно, разрешено ли вам иметь как тип контента, так и расположение контента в одном заголовке при отправке ответа фляги.В настоящее время мой код работает как:

headers = {
  "Content-Type" : mimetype,
  "Content-Disposition":
  "attachment;filename={}".format(flask.request.args.get('filename', key)),
}
return flask.Response(data, 200, headers)

, но когда я нажимаю на ссылку, чтобы загрузить его, он возвращается в виде текстового документа с именем «скачать».Когда я изменяю тип файла на тот, который должен быть, он становится правильным файлом, когда я щелкаю правой кнопкой мыши по кнопке «Сохранить как со ссылкой на файл».

Есть ли проблема с настройкой моего типа контента и расположения контента в одних и тех же заголовках?Поскольку я не думаю, что расположение контента регистрируется, поскольку файл не будет возвращаться как текстовый документ с именем загрузки.

1 Ответ

0 голосов
/ 10 июня 2018

Я использую немного другой способ создания ответа, который работает:

from flask import make_response
##
##
resp = make_response(logs)
filename = "applog_%s.log" % datetime.now()
filename = filename.replace(" ", "_")
resp.headers['Content-Disposition'] = 'attachment;filename=' + filename
resp.mimetype = "text/plain"
return resp

Редактировать

А также убедитесь, что нет пробеловв вашем filename аргументе.Я помню, что однажды мне было тяжело, поэтому я заменил пробелы подчеркиванием, как вы можете видеть в приведенном выше коде.

...