【问题标题】:Setting up flask.response in python在 python 中设置 flask.response
【发布时间】:2018-06-10 01:34:59
【问题描述】:

我想知道当您发送烧瓶响应时,是否允许您在一个标头中同时拥有内容类型和内容处置。目前,我的代码运行为:

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

但是当我点击链接下载它时,它会以文本文件的形式返回,名称为“download”。当我将文件类型更改为应有的文件类型时,同样,当我右键单击文件链接另存为时,它也会变成正确的文件。

在同一个标​​题中设置我的内容类型和内容处置是否有问题?因为我认为内容处置没有被注册,因为文件不会作为名称为下载的文本文档返回。

【问题讨论】:

    标签: python python-3.x flask wsgi content-disposition


    【解决方案1】:

    我正在使用一种稍微不同的方法来创建有效的响应:

    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 参数中没有任何空格。我记得有一次让我很难受,这就是为什么我用下划线替换了空格,正如你在上面的代码中看到的那样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-06
      • 2015-03-24
      • 2023-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-22
      相关资源
      最近更新 更多