生成要下载的文件,而不在服务器上本地存储副本

时间:2019-01-08 19:12:08

标签: python flask

我正在通过Flask创建一个Web应用程序,该应用程序将上载的文件转换为Base64,并将其存储在一个单独的文件中,供用户下载。 就存储而言,这可能是相当广泛的,因为一旦转换后必须保存文件,然后用户可以下载它,是否可以创建此文件并将其推送给用户下载而不必将其存储在本地? / p>

1 个答案:

答案 0 :(得分:0)

您可以在服务器上创建文件,然后使用Response对象将其返回以供下载。

作为示例,返回一个文本文件(取自现实生活中的Web应用程序):

@app.route('/account/security/2fa_backup_codes.txt')
@login_required
def backup_codes():
    codes = g.user.tfa_backup.replace(',', '\r\n')
    generator = (cell for row in codes for cell in row)
    return Response(generator, mimetype='text/plain',
        headers={'Content-Disposition':
                 'attachment;filename=2fa_backup_codes.txt'})