【问题标题】:java servlet: generate zip file from BLOBsjava servlet:从 BLOB 生成 zip 文件
【发布时间】:2009-07-15 20:00:27
【问题描述】:

我正在尝试压缩大量 pdf 文件(在数据库中存储为 BLOB),然后将 zip 作为附件返回给用户。

在不遇到内存问题的情况下,最好的方法是什么?

另一个注意事项:我实际上需要在将一些 PDF 添加到 ZipOutputStream 之前合并它们。因此,需要一次将几个 PDF 存储在内存中。

我认为最好在将它们全部压缩之前将它们作为临时文件存储在服务器上?

【问题讨论】:

  • 我强烈建议尽可能避免使用临时文件。
  • @Tom:如果我避免使用临时文件,那意味着我需要将所有数据保存在内存中,对吧?

标签: java servlets zip outputstream


【解决方案1】:

您可以使用 ZipOutputStreams 在 Java 内存中创建 zip 文件。

http://www.exampledepot.com/egs/java.util.zip/CreateZip.html

【讨论】:

  • 是的,但这些文件可能非常很大。再加上很多人可能会同时要求他们。因此,我更感兴趣的是在过程中的任何给定点使用尽可能少的内存。
  • 您可以使用 ZipOutputStream 将它们流式传输到客户端。
猜你喜欢
  • 2013-09-22
  • 1970-01-01
  • 2020-02-14
  • 2017-08-31
  • 1970-01-01
  • 2020-05-28
  • 1970-01-01
  • 2020-12-11
相关资源
最近更新 更多