【问题标题】:Options for client side zip file extraction before upload上传前客户端 zip 文件提取的选项
【发布时间】:2025-12-18 09:30:01
【问题描述】:

我们的问题

我们正在构建一个基于浏览器的应用程序,允许用户将文件上传到服务器进行处理。服务器端使用 Codeigniter v2.0.2 框架用 PHP 编写。要上传的文件是另一个系统的输出,它们的格式是我们无法控制的。它们可能非常大(数百 MB),但服务器端处理不需要它们的大部分内容。这些文件本身实际上是 zip 格式(尽管带有定制的扩展名),并且包含许多图像文件以及一个相对较小的 XML 文件,而这只是我们在服务器端处理所需要的。显然,当我们需要不到文件质量的 1% 时,发送整个文件会非常浪费。我们也不想要求用户手动从文件中提取 XML。

我的问题

我们有哪些选项可以编写可以从 zip 中提取 XML 文件并将其发送的客户端代码?很高兴考虑在大多数现代浏览器中运行的任何技术。虽然我们是一家 C#/C++ 编码公司,但 Web 技术并不是我们的日常工作,因此我们非常感谢您收到代码示例!

非常感谢。

【问题讨论】:

标签: php javascript http codeigniter


【解决方案1】:

您是否正在寻找用于 zip 压缩的库?您可以在客户端使用SLSharpZipLib,在服务器端使用.NET counterpart

【讨论】:

    【解决方案2】:

    这应该很容易用一个签名的java小程序来实现,90%的用户都会安装java,如果没有客户端可以安装它。

    签名的 Java 小程序将能够访问该文件并提取您需要的文件并将其传输到您的服务器。

    这也将非常快,因此即使是大文件也可以正常工作。

    【讨论】:

    • 确实这是我们选择的解决方案。非常感谢。
    【解决方案3】:

    我使用了 Phil Sturgeon 的 this lib。我的文件不到 20mb,所以我不知道它将如何与您的项目一起使用。

    【讨论】:

    • 谢谢,但这是一个服务器端库,需要已将数据上传到站点。我追求的东西只会上传 zip 存档中的一个文件。