• 文件下载


    有本地文件 

    放到nginx跟目录下,通过访问nginx下载:略

    flask返回文件

    @api.route('/file/down')
    def excel_down():
        directory = r'D:/'
        filename = 'www.rar'
        file_name = '测试.rar'
        response = make_response(send_from_directory(directory, filename, as_attachment=True))
        response.headers["Content-Disposition"] = "attachment; filename={}".format(file_name)
        return response

    没有本地文件

    通过设置response的类型下载

    yield作用是后台生成一部分数据,前台下载一部分,不是等到全部传输完再进行下载,减少耗时

    @api.route('/stream/down')
    def stream_down():
        def generate():
            for row in range(50000):
                line = []
                for col in range(500):
                    line.append(str(col))
    
                if row % 1000 == 0:
                    print 'row: %d' % row
                yield ','.join(line) + '
    '
    
        response = Response(generate(), mimetype='text/csv')
        response.headers["Content-Disposition"] = "attachment; filename={}".format('大文件.csv')
        return response

    生成excel并下载

    @api.route('/test3')
    def test3():
        from openpyxl import Workbook
        wb = Workbook()
        ws = wb.active
        ws['A1'] = 42 
        ws['B1'] = "你
    好" + "automation test"
        file_name = 'test.xlsx'
        wb.save(file_name)
        directory = ''
        response = make_response(send_from_directory(directory, file_name, as_attachment=True))
        response.headers["Content-Disposition"] = "attachment; filename={}".format(file_name)
        return response
    window.open(PreURL+'test3')
    //window.open写在链接中的参数后台用get方法就能取到

    常用mimetype

    • text/html(默认的,html文件)

    • text/plain(纯文本)

    • text/css(css文件)

    • text/javascript(js文件)

    • application/x-www-form-urlencoded(普通的表单提交)

    • multipart/form-data(文件提交)

    • application/json(json传输)

    • application/xml(xml文件)

    参考

    Flask 文件和流

  • 相关阅读:
    Python数据分析与机器学习-Pandas_1
    Python数据分析与机器学习-NumPy_5
    Python数据分析与机器学习-NumPy_3
    Python数据分析与机器学习-NumPy_4
    Python数据分析与机器学习-NumPy_2
    Python数据分析与机器学习-NumPy_1
    早起的鸟儿会摔倒
    我讨厌这样的自己
    依然很迷茫?
    孵客总结
  • 原文地址:https://www.cnblogs.com/lurenjia1994/p/9958090.html
Copyright © 2020-2023  润新知