0

我想做的是这个;

我从一般为 1.5gb 的客户端获取这些 zip 文件。它们都只包含图片。我需要将它们制作成 100mb 的文件才能实际上传到我的服务器。问题是,如果我破坏了我的 1.5gb zip 文件,如果我需要使用一个,我需要重新附加所有这些文件。

当我将 1.5gb 的 zip 文件分解为 100mb 的 zip 文件时,我需要 100mb 的文件作为单独的新文件,以便服务器将其解压缩并将图片上传到数据库中。我一直在寻找这个问题,但大多数线程都是关于如何拆分 zip 文件的。这部分是我想要做的,我现在可以做到,但我还需要那些小块能够自行解压缩。是否可以将 zip 文件分成更小的部分,作为新的独立 zip 文件?

谢谢。

4

2 回答 2

1

我也有同样的问题。我认为 Linux shell 中的 unzip 无法处理大于 1 GB 的 zip 文件,我需要在无头 NAS 中无人看管地解压缩它们。我现在要做的是解压缩桌面 HD 中的所有内容,选择文件直到它们几乎达到 1 GB,归档并删除它们,然后选择下一组文件,直到达到 1 GB。

于 2012-03-30T06:07:28.580 回答
0

您的回答不清楚,但我会根据对您的困境的理解尝试回答。

问题

  1. 为什么需要限制文件大小?
    • 是否传输到服务器是限制因素?
    • 应用程序(在服务器上)是否无法处理超过一定大小的文件?
  2. 是否可以更改该过程,以便在处理之前可以在服务器上重新组合图像文件片段?
  3. 客户端和服务器上使用什么操作系统?
  4. 您是否具有对服务器的 shell 访问权限?

几个选项

  • 使用imagemagick减少文件,使其适合文件大小限制

  • 在 Linux/Mac 上,这相对简单:

    1. split -b 1m my_large_image.jpg(您需要该b参数才能处理二进制文件)
    2. 将每个文件压缩成自己的 zip
    3. 上传到服务器
    4. 解压
    5. 将片段连接回图像文件:

    cat xaa xab xac xad (etc) > my_large_image.jpg

于 2011-07-28T15:51:24.070 回答