如何从文件流中下载Flask中的CSV文件?

时间:2019-12-03 08:59:44

标签: python csv flask

我在Heroku上运行了Flask应用程序,我需要下载从数据库生成的CSV文件。由于Heroku不允许在运行的dyno期间保存文件,因此我改用了IO流(而且我也不需要服务器上的csv文件,应该将其发送给用户):

#...necessary imports
# alex_dict is a python dictionary created from the database
file = StringIO()
    for key, value in alex_dict.items():
        line = [key, value]
        csv.writer(file, delimiter = ";").writerow(line)
    file.seek(0)
    return send_file(file, mimetype="text/csv", attachment_filename="test.csv", as_attachment=True)

运行flask应用程序时,确实将CSV文件“ test.csv”接收到了我的下载文件夹中,但是它为空。

如果我返回file.get_values(),则将csv格式的内容直接输入浏览器,因此显然文件生成有效,但是不会通过flask send_file方法进行传输。

0 个答案:

没有答案