Flask:为使用Openpyxl创建的Excel文件创建可下载链接

时间:2018-08-24 21:36:54

标签: flask download azure-storage-blobs openpyxl

我正在使用openpyxl根据用户输入创建动态excel文件。我想将此文件嵌入为可下载链接,以供用户在单独的网页上访问。

我已经能够将文件保存在应用程序的文件夹结构中,但是我不确定如何从那里访问它。由于该文件是为每个潜在用户动态创建的,因此无法将其存储在静态文件夹中。因此,我不确定如何将excel工作表作为可下载对象传递给用户。

我试图将文件上传到azure blob存储,并在那里也访问它,但是我被拒绝权限错误击中。我使用以下代码片段尝试访问它:

block_blob_service.get_blob_to_path('dynamicfile',blob.name,blob.name)

任何有关如何解决此问题的建议(无论有无天蓝色斑点)都是很好的。谢谢!

1 个答案:

答案 0 :(得分:0)

您可能需要根据自己的需要调整零件,但至少您了解了。

from flask import send_file
from os.path import join

if request.form['action'] == 'Download':
    return send_file(os.path.join(app.config['DOWNLOAD_DIR'],'filename'),as_attachment=True)

不要忘记在应用程序配置中设置下载文件夹,并在模板中设置具有正确值的按钮。