【发布时间】:2012-01-05 14:58:10
【问题描述】:
我想实现像 GMail 的“获取所有附件为压缩文件”这样的功能。
有没有办法在服务器上选择多个文件,压缩它们并即时传递到浏览器? (类似于 PHP 的函数 readfile 用于附件流)
[编辑]
您似乎误解了我的意图,所有给出的示例都需要创建并关闭存档发送之前,我想在存档创建时进行流式传输。
类似于 unix 命令的东西(来自 zip 手册):
zip -r - . | dd of=/dev/nrst0 obs=16k
[EDIT2]
我有大量 ~2MB 文件(> 100 个)要服务,等待创建 tmp zip 文件强制实现排队机制并占用存储空间...如果可以通过流/管道直接到浏览器完成,为什么我应该在 filesyetm 中写 tmp zip 吗?
【问题讨论】:
-
我已经阅读了这个例子......但没有解决方案。
-
哦,你的意思是一个完整的、编码的解决方案,直到最后一个字符,如“give me teh codez”?
-
@Piskvor 不,我可以处理这个编码,但我必须有一些提示,而不是链接到我仔细阅读过的页面,它的内容在我的情况下似乎没用。
-
等等,所以您不是试图将文件压缩成一个文件?通过
readfile将单个文件提供给浏览器似乎是相当简单的最后一步。