java - 通过 servlet 传送解压后的文件,无需先在服务器上解压

标签 java http servlets compression zip

在我拥有 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/

相关文章:

java - 将嵌套列表元素设置并获取到单个列表中

c# - 重用 WebClient 对象发送另一个 HTTP 请求

java - 您建议使用哪种压缩(GZIP 是最流行的)servlet 过滤器?

tomcat - 简单的 Tomcat 问题 在 Webapps 文件夹下创建一个新文件夹

java - 我想获取选择的所有值,即使它们没有被选择。我应该怎么办?

java - Mediastore 专辑和媒体专栏

java - Spring MVC 在插入记录后检索数据库自动生成的记录主键

java - 当 Android 看不到证书时,如何在 Android 中调用安全 (SSL) 网络服务?

http - Aurelia http-fetch 句柄错误

ios - 如何重试失败的网络请求