flask 如何通过 http 请求下载一个文件

2015-12-04 17:59:56 +08:00
 lydhr
5657 次点击
所在节点    Flask
4 条回复
loading
2015-12-04 18:19:31 +08:00
如果下载不需要权限控制,建议 redirect 到 nginx 的静态文件夹。

因为 flask 这种是阻塞的方式,如果只有一个线程,有人下载,你的服务将在下载全程不可用。
loading
2015-12-04 18:27:46 +08:00
之前我问过一个相关的。
http://v2ex.com/t/197801#reply4
xavierskip
2015-12-04 21:48:00 +08:00
确实下载文件不太应该用 web 框架来处理,直接交给 web server 当作静态文件处理。


你说的不知道我理解对没有,例如就是返回数据 A.txt 文本文件内容,让浏览器以下载文件来处理,而不是直接给你在浏览器中打开了。

需要在返回的 http header 中添加"Content-Disposition"

你看一下这里 https://github.com/xavierskip/hupu_Album_Downloader/blob/master/web/index.py#L128
ericls
2015-12-05 02:59:55 +08:00
flask 可以配合 nginx 的内部路由 很好的实现文件下载功能

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/241204

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX