下载文件,解析并在Flask中提供服务

时间:2013-04-26 14:22:58

标签: python flask

我正在使用Flask迈出第一步。我可以成功地从客户端下载文件并使用以下代码返回: http://flask.pocoo.org/docs/patterns/fileuploads/

但是如何改变它(例如一行一行)然后将其提供给客户?

我可以在read()之后获取字符串:

if file and allowed_file(file.filename):

然后处理它。所以问题实际上是:我如何将输出字符串作为文件提供?

我根本不想将它保存在服务器的硬盘上(包括原始版本和更改版本)。

1 个答案:

答案 0 :(得分:7)

您可以使用make_response为字符串创建响应,并在返回之前添加Content-Disposition: attachment; filename=anyNameHere.txt

@app.route("/transform-file", methods=["POST"])
def transform():
    # Check for valid file and assign it to `inbound_file`
    data = inbound_file.read()
    data = data.replace("A", "Z")
    response = make_response(data)
    response.headers["Content-Disposition"] = "attachment; filename=outbound.txt"
    return response

另请参阅:streaming content

上的文档