python flask - 在不同的URL上提供文件

时间:2017-06-30 09:31:48

标签: python http flask werkzeug

我使用CRUD为Order个对象构建了一个休息服务器。

因此,POST /order有一个端点可以创建Order,然后用户可以在POST /order/{order_id}/attachment上传附件

我也想提供附件,可以在同一个网址上下载。 以便GET /order/{order_id}/attachment下载附件文件。

但是当我返回werkzeug.datastructures.FileStorage并设置了filename属性时,浏览器会为我提供一个名称保存的文件:attachment

有没有办法用烧瓶发送文件,在不同的网址上使用正确的文件名?

1 个答案:

答案 0 :(得分:2)

@app.route('/order/{order_id}/attachment') def download_file(order_id): order = get_order_from_db(order_id) filename = order.attachment return send_from_directory(app.config['UPLOAD_FOLDER'], filename) 方法可能会派上用场来提供文件。 示例(有点伪编码):

send_from_directory

有关{{1}}的更多信息:http://flask.pocoo.org/docs/0.12/api/#flask.send_from_directory