Sometimes, you want to avoid the creation of a file to send this file to the client.
So, in this case, you can use a StringIO object with the send_file helper.
Here is an example:
#!/usr/bin/env python
# Thanks to Dan Jacob for a part of the code !
from flask import Flask, send_file
import StringIO
app = Flask(__name__)
@app.route('/')
def index():
strIO = StringIO.StringIO()
strIO.write('Hello from Dan Jacob and Stephane Wirtel !')
strIO.seek(0)
return send_file(strIO,
attachment_filename="testing.txt",
as_attachment=True)
app.run(debug=True)
This snippet by Stephane Wirtel can be used freely for anything you like. Consider it public domain.