Flask/Werkzeug how to attach HTTP content-length header to file download

后端 未结 3 1447
星月不相逢
星月不相逢 2020-12-14 18:49

I am using Flask (based on Werkzeug) which uses Python.

The user can download a file, I\'m using the send_from_directory-function.

However when actually down

相关标签:
3条回答
  • 2020-12-14 19:26

    I needed this also, but for every requests, so here's what I did (based on the doc) :

    @app.after_request
    def after_request(response):
        response.headers.add('Access-Control-Allow-Origin', '*')
        return response
    
    0 讨论(0)
  • 2020-12-14 19:32

    I believe you'd do something like this (untested):

    from flask import Response
    response = Response()
    response.headers.add('content-length', str(os.path.getsize(FILE_LOCATION)))
    

    See: Werkzug's Headers object and Flask's Response object.

    0 讨论(0)
  • 2020-12-14 19:41

    Since version 0.6 the canonical way to add headers to a response object is via the make_response method (see Flask docs).

    def index():
        response = make_response(render_template('index.html', foo=42))
        response.headers['X-Parachutes'] = 'parachutes are cool'
        return response
    
    0 讨论(0)
提交回复
热议问题