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

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


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

@app.after_requestdef after_request(response):    response.headers.add('Access-Control-Allow-Origin', '*')    return response


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


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

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

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