Flask/Werkzeug 如何将 HTTP 内容长度标头附加到文件下载
我正在使用 Flask(基于 Werkzeug),它使用 Python。
用户可以下载文件,我正在使用 send_from_directory
-函数。
然而,当实际下载文件时,HTTP 标头 content-length
并未设置。因此用户不知道正在下载的文件有多大。
我可以在 Python 中使用 os.path.getsize(FILE_LOCATION) 来获取文件大小(以字节为单位),但找不到设置 content-length 标头的方法烧瓶。
有什么想法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我也需要这个,但是对于每个请求,所以这就是我所做的(基于文档):
I needed this also, but for every requests, so here's what I did (based on the doc) :
从版本 0.6 开始,向响应对象添加标头的规范方法是通过
make_response
方法(请参阅 Flask 文档)。Since version 0.6 the canonical way to add headers to a response object is via the
make_response
method (see Flask docs).我相信你会做这样的事情(未经测试):
请参阅: Werkzug 的标头object 和 Flask 的 Response 对象。
I believe you'd do something like this (untested):
See: Werkzug's Headers object and Flask's Response object.