我想通过urlstream读取未压缩在服务器上的文件,并将其作为压缩文件发送。我的问题是做这件事最有效的方式或最佳做法是什么。例如,是否有可能以流媒体的方式做到这一点,我的意思是没有先将内容保存到本地光盘或内存中?以zip形式发送网址流
回答
例如,是否有可能以流方式进行此操作,我的意思是没有先将内容保存到本地光盘或内存中?
是。使用ZipOutputStream
。
但是,执行此操作的标准HTTP方式是使用gzip压缩,而不是zip压缩。这样,用户代理可以透明地解压缩另一端的文件。
我将此流作为Web服务附件发送,并为此使用javax.activation.Datahandler。那么你的答案使用gzip仍然适用? – cacert
HTTP可以发送任何gzip,所以是的。 –
Http正在使用gzip压缩。使用ZipOutputStream
比GZIPOutputStream
复杂一点,因为zip文件是可以包含多个文件的容器。
既然你正在寻找有效的方式,不会使用过多内存,很好的解决方案也FlushableGZIPOutputStream是:
扩展GZIPOutputStream的要解决的一对夫妇长期 站在JDK的bug(错误4255743和Bug 4813885),所以GZIP的输出 可以刷新。
- 1. 如何以docs.google.com的形式获取YouTube流式网址
- 2. 发送的网址
- 3. Shopify形式发布到外部网址
- 4. 以axios和redux形式发送请求以redux形式发送请求
- 5. 发送ZIP
- 6. Python,Gmail,发送邮件以地址列表形式显示地址
- 7. 用户凭据以明文形式发送的asp.net网站
- 8. iFrame发送父网址
- 9. 通过网址发送$ POST
- 10. 打开网址发送POST
- 11. 发送形式与
- 12. 以HTML的形式发送消息
- 13. 以wordpress形式发送数组数据
- 14. 发送的形式,以查看laravel 5.1
- 15. 以PHP形式发送请求以形成
- 16. 网址抛出失败打开流和头已发送错误
- 17. 如何以zip文件的形式发布一个git仓库
- 18. 发送window.location到一个变量,这是一个字符串形式的网址
- 19. 如何将图形格式的图形发送到网页
- 20. 以编程方式发送“网络发送”
- 21. 将网址添加到网址列表中,以便在Wordpress中发送pingbacks
- 22. $ .post()不会以json的形式发送数据,而是会以x-www-form-urlencoded的形式发送数据
- 23. 我如何发送一个形式与PHP和一旦联系人信息发送它去另一个网址?
- 24. 发送SESSION以POST联系表形式发送SESSION信息以及POST字段
- 25. 以电子邮件地址的形式输入并发送给它在Django
- 26. 发送形式使用Ajax
- 27. 发送形式的内容
- 28. 不能发送形式
- 29. 进行urlencode发送形式
- 30. 发送从HTML形式
ASAIK,我不认为这是个好主意。从URL流完全读取后,您想立即压缩它。你可以做的是从* urlstream *中读取文件并将其保存在磁盘中。一旦完全阅读,您可以将其压缩。 – Keerthivasan