在我拥有 Web 服务器的网络上,有一台机器有许多压缩的 pdf 文件(使用 java.util.zip 压缩),我可以通过 HTTP 访问这些文件。当用户想要下载pdf文件时,我知道如何首先在服务器本地解压缩该文件,然后通过servlet将解压缩的pdf传递给用户。是否可以将解压后的文件交付给用户而不先在本地解压?
问候
最佳答案
原则上,如果客户在请求中表示接受gzip压缩数据,您可以以压缩形式发送PDF文件,客户将对其进行解压缩。不过,有一个问题:虽然 zip 文件的压缩算法和 HTTP Content-Encoding: gzip
是相同的,但 Zip 文件格式还有更多的东西(因为它可以包含多个文件) ,以及目录结构),因此有必要之前将这些东西剥离掉。我不确定这是否比在 servlet 中解压缩然后让 Servlet 引擎再次处理压缩容易得多,但请尝试一下。
关于java - 通过 servlet 传送解压后的文件,无需先在服务器上解压,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5621157/