跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 如何高效的实现文件的批量下载呢? golang
未分類
2 11 月 2020

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

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

資深大佬 : NotreDame 4

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

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

  • 频繁 io 操作,成本过重。
  • 不清楚何时是删除生成的临时文件的最佳时机。

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

大佬有話說 (3)

  • 資深大佬 : ebingtel

    python 里面有 streamzip 模块, 本质: 并不需要把所有的文件都压入到 zip 之后,再返回,这样太浪费时间了; 边压边返回……

  • 資深大佬 : Evrins

    边遍历边打包可以用这个库 https://github.com/mholt/archiver
    直接流式写入到 Http response 里面

  • 資深大佬 : huayumo

    可以看看七牛的上传下载工具,感觉效率挺高的

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具