如何高效的实现文件的批量下载呢? golang

2020-11-09 06:57:25 +08:00
 NotreDame

我的文件系统设计如下:
文件具有 path 属性; 文件夹的 path 为 null ;两者都有 parentId 。

我想到的方法是:把服务器的文件先组成一颗文件树,然后使用 filepath.walk 遍历打包成 zip,之后把 zip 压缩包下载。 但是这种方法存在两个问题:

求教更高效的批量下载实现方式,谢谢!

1931 次点击
所在节点    程序员
3 条回复
ebingtel
2020-11-09 08:25:16 +08:00
python 里面有 streamzip 模块, 本质: 并不需要把所有的文件都压入到 zip 之后,再返回,这样太浪费时间了; 边压边返回……
Evrins
2020-11-09 08:30:28 +08:00
边遍历边打包可以用这个库 https://github.com/mholt/archiver
直接流式写入到 Http response 里面
huayumo
2020-11-09 15:02:03 +08:00
可以看看七牛的上传下载工具,感觉效率挺高的

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

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

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

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

© 2021 V2EX