如何方便让 http 下载一个文件夹?

2024-03-28 10:27:26 +08:00
 hartlee
是不是只能把文件夹做成 zip ?
如果和能提高解压效率呢?最好能秒解,linux 下
2243 次点击
所在节点    问与答
18 条回复
MidLinn
2024-03-28 10:46:50 +08:00
只打包,不压缩
Yanlongli
2024-03-28 10:55:03 +08:00
没必要吧,你下载都费多少时间了。
如果你的文件很小,那下载快,解压也会快,解压时间忽略不计。
如果你的文件很大,那下载慢,解压比下载快,解压时间也可以忽略不计。

只要控制压缩级别低点,别往死的压。
hartlee
2024-03-28 11:00:53 +08:00
@MidLinn linux 下用 tar 好还是 zip 好?
hartlee
2024-03-28 11:01:18 +08:00
@Yanlongli 谢谢 文件夹 5g 左右,想解压速度越快越好
villivateur
2024-03-28 11:04:55 +08:00
可以参考一下某些网盘的实现,下载文件夹的时候,服务器端一边打包一边下载,注意,只打包,不压缩
hartlee
2024-03-28 11:14:19 +08:00
压缩好搞,只是想解压特别快,最好能想本地 mv 一样的速度
zim298247
2024-03-28 12:05:21 +08:00
@hartlee #6 tar
ghjh
2024-03-28 12:45:56 +08:00
具体看你是自己传资料用,还是其他什么情况必须用 http
如果自己写 http 接口的话,可以考虑边打包边回传数据。
自己传资料的话倒是有很多现成的方法 scp rsync 啥的
mumbler
2024-03-28 12:50:45 +08:00
做个 1M 下载器,打开下载 5G 文件
byasm32
2024-03-28 13:08:01 +08:00
@hartlee #6 楼上说了好多次了 就打包不压缩 你好像还没听懂。。
你可以试试电脑里用 winrar 压缩一个几 g 的文件夹 选择“仅存储“,压缩和解压都是几秒的事。(前提:SSD )
hartlee
2024-03-28 14:20:48 +08:00
@byasm32
对比了一下 tar 比 zip 快很多
limbo0
2024-03-28 16:00:35 +08:00
非要 http 吗
发送: tar cfz - . | nc {ip} 9995
接受: nc -l 9995 | tar xfvz -
hartlee
2024-03-28 16:13:51 +08:00
@limbo0 是的,让用户下载用,出了 tar 或者 zip ,有没有更简单的办法 ,比如直接给他 rename 或者 mv 一下,把文件夹强制转换为一个文件,然后再 rename 或者 mv 一下就行变成文件夹?
lambdaq
2024-03-28 16:18:06 +08:00
浏览器的话用 file blob api

命令行的话 curl 和 wget 都支持镜像网站功能,只要你页面结构容易解析就能下载下来一个文件夹。
cheng6563
2024-03-28 16:46:53 +08:00
浏览器有 API 读写指定的一整个文件夹
hartlee
2024-03-28 17:23:36 +08:00
@lambdaq 谢谢,文件在 s3 的存储上,我是把文件的 http 地址给用户,让用户下载
lambdaq
2024-03-28 17:29:01 +08:00
@hartlee 用户用什么下载?浏览器还是客户端?如果浏览器的话还是找前端包一个页面吧。基本可以实现点一个按钮,下载下来就是一个文件夹。
hartlee
2024-03-28 21:46:58 +08:00
@lambdaq 谢谢 是浏览器下载,求思路

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

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

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

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

© 2021 V2EX