gpt4 book ai didi

java - 我应该如何提供压缩网页?

转载 作者:行者123 更新时间:2023-11-28 22:46:20 24 4
gpt4 key购买 nike

背景:
我们的软件以常见的可疑格式(HTML、PDF 等)为客户生成报告,并且每份报告都可以包含该报告独有的图表和其他图形。对于 PDF,一切都保存在一个地方——PDF 文件本身。 HTML 比较棘手,因为报告基本上是多个文件的总和。这些文件可通过 Tomcat 通过 HTTP 获得。

问题:
我真的很想拥有一个整洁的环境并将 HTML 报告包装到一个文件中。有 MTHML、Data URIs 等多种格式需要考虑。 This excellent question假设,鉴于缺乏对这些格式的跨代理支持,ZIP 是一个很好的解决方案。这对我很有吸引力,因为我还可以提供 zip 文件作为“您可以通过电子邮件发送的 HTML 报告”选项进行下载。 (在过去,用户曾提示在他们开始通过电子邮件发送 HTML 报告时丢失了图形)

解决方案似乎很简单。收到一个请求,我找到合适的 zip,将其解压缩到网络服务器上的某个位置,将请求指向新的 HTML 文件,大约一天后再次整理所有内容。

但这似乎有些不对劲。我有一种直觉,这不是一个好的解决方案,它存在一些本质上的错误,或者可能存在我目前看不到的更好的方法。

任何人都可以建议这是好是坏,并​​提供替代解决方案吗?

编辑以获取更多背景信息!
报告需要保存在服务器上。我们的客户是现场的用户,单个报告的可见性可能与现场的每个人一样广泛。创建过程涉及用户选择报告的标准,并将其提交给服务器以供创建。从数据库中提取数据并构建文档。占位符记录进入数据库,文档本身存储在某处的文件服务器上。这是我想要更整洁的“文件服务器上的文档”部分——压缩也意味着使用更少的磁盘空间!创建报告后,任何人都可以看到它。

最佳答案

我原以为 zip 文件最终会出现在客户端,而不是留在服务器上。

在不了解您的架构的情况下,我会猜测这样的方法:

  • 用户请求报告
  • 服务器以 HTML 格式显示报告
  • 用户可能会调整一些参数,重复请求
  • 服务器将报告显示为 HTML(重复直到用户满意)
  • 在每个 HTML 报告中,都有一个“下载为 zip”链接
  • 用户点击链接
  • 服务器重新生成报告,将其存储在一个 zip 文件中并提供给用户
  • 用户将 zip 文件保存在某处,通过电子邮件发送等等 - 服务器根本不参与

当然,这取决于能够重新运行报告以生成 zip 文件。您可以在每次生成一些 HTML 时生成一个 zip 文件,但如果您不需要这样做并且需要清理等,那就太浪费了。

也许我误解了您...如果这听起来不合适,您可以更新您的问题吗?

编辑:好的,看到您问题的更新后,我很想将每个报告的文件存储在单独的目录中(例如,使用 GUID 作为目录名称)。许多文件系统支持文件系统级别的压缩,因此“过早压缩”可能不会节省太多磁盘空间,并且会使提取单个文件变得更加困难。然后,如果用户请求一个 zip,你只需要在那个时候构建 zip 文件,可能就在内存中,然后再提供它。

关于java - 我应该如何提供压缩网页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/601497/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com