网站上怎么加上 on the fly 压缩功能啊?

2015-10-21 20:38:43 +08:00
 huangmingyou

类似 360 云盘,随机选择多个文件,点下载,直接给你下载一个打包以后的压缩包?
有现成的实现代码吗?
我看 nginx 只能实现预压缩。

2676 次点击
所在节点    奇思妙想
8 条回复
ryd994
2015-10-21 21:05:55 +08:00
naive 的做法就是写个 shell 脚本挂 cgi
略高级一点的就 python/PHP
welly
2015-10-21 21:26:47 +08:00
我只知道 OneDrive 一开始就用这个功能,多文件下载自压
welly
2015-10-21 21:27:33 +08:00
忘了说 压缩包里面还有自动生成个 索引列表 txt
XiaoxiaoPu
2015-10-21 21:28:16 +08:00
h5ai
w88975
2015-10-21 21:40:41 +08:00
现成的我不知道。
不过思路大概是这样,收到请求,用你的后端语言 zip 压缩这几个文件,然后传回文件流,并在传输结束后删除该压缩文件。
ryd994
2015-10-21 23:37:00 +08:00
@w88975 有 pipe ,不需要临时文件,直接输出到 stdout 就行
huangmingyou
2015-10-22 11:22:16 +08:00
@XiaoxiaoPu h5ai 好用!
jsq2627
2015-10-22 22:05:30 +08:00
稍微了解一下 zip 的格式规范的话,是可以自己实现一个的。
各种网盘打包下载的时候并没有压缩,只是单纯把文件打包了而已。

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

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

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

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

© 2021 V2EX