我正在使用Flask迈出第一步。我可以成功地从客户端下载文件并使用以下代码返回: http://flask.pocoo.org/docs/patterns/fileuploads/
但是如何改变它(例如一行一行)然后将其提供给客户?
我可以在read()
之后获取字符串:
if file and allowed_file(file.filename):
然后处理它。所以问题实际上是:我如何将输出字符串作为文件提供?
我根本不想将它保存在服务器的硬盘上(包括原始版本和更改版本)。
答案 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
上的文档