如何在 Flask 上更改.csv响应的名称



我正在使用烧瓶作为Web服务,在某些时候我必须向用户发送报告。它必须是.csv格式,我正在使用以下代码:

# ...
def generate():
    head 'some headers'
    # some loops to get data from lists and dbs
    yield 'the data'
    # ...
return Response(generate(), mimetype = 'text/csv')

此报告的名称类似于"someletters.csv,用户想要另一个更具描述性的名称,如何更改报告的名称?我一直在 Flask 文档上寻找,但没有找到任何有用的东西。

您可以在代码中执行以下操作:

filename_ = 'myfilename.csv'   # or any format you would like.
return Response(generate(), mimetype="text/csv", headers={"Content 
                disposition":"attachment; filename=" + filename_})

您可以添加"content-disposition"标头。

    resp = flask.Response(...
    resp.headers["content-disposition"] = "attachment; filename=" + fileName

最便携的文件命名方式是使用请求 url 的最后一部分,即 http://example.com/files/database_dump.csv

最新更新