【问题标题】:How can I stream a ZIP archive with just one file in it?如何流式传输仅包含一个文件的 ZIP 存档?
【发布时间】:2012-03-05 13:02:36
【问题描述】:

想象一下这种情况:我有一个只有一个条目的 ZIP 存档。我提前知道条目的名称。

如何在不必先阅读整个 ZIP 存档的情况下扩展此单个条目?

详细信息:ZIP 存档的目录附加到 ZIP 存档的末尾。所以通常,在阅读整个档案之前,你不能开始阅读条目。 targzip 等其他归档程序先给我标题,然后给我条目数据。

就我而言,存档只是一个文件,我知道文件名(content.xml,没有路径)。

【问题讨论】:

  • 为什么不只是gzip呢?应该更合适。
  • 文件的服务器不在我的控制之下。

标签: stream zip


【解决方案1】:

虽然规范并不能真正保证它可以正常工作,但在您的情况下,它应该可以只搜索第一个条目的开头。您可以解压它,然后验证您是否真的得到了您想要的数据,然后再解压目录。

我不知道是否有任何库支持这一点,鉴于它没有得到官方支持,我希望不会。所以你必须拆开一些阅读器(例如 zlib 中捆绑的 minizip 应该相当简单)并自己实现。

【讨论】:

    猜你喜欢
    • 2017-02-07
    • 2020-05-02
    • 1970-01-01
    • 2015-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-23
    • 2021-03-15
    相关资源
    最近更新 更多