0

私がやろうとしているのはこれです。

一般に1.5GBのクライアントからこれらのzipファイルを取得します。それらはすべて写真のみを含みます。実際にサーバーにアップロードするには、それらを 100 MB のファイルにする必要があります。問題は、1.5 GB の zip ファイルを破損した場合、1 つを使用する必要がある場合は、それらすべてを再接続する必要があることです。

1.5 GB の zip ファイルを 100 MB の zip ファイルに分割するとき、サーバーがそれを解凍して画像をデータベースにアップロードするように、100 MB のファイルを別の新しいファイルとして機能させる必要があります。私はこの問題を探しましたが、ほとんどのスレッドは zip ファイルを分割する方法に関するものです。これは私がやりたいことの一部であり、今でも実行できますが、それらの小さな断片を自分で解凍できるようにする必要もあります. zip ファイルを小さな断片に分割して、新しいスタンドアロンの zip ファイルとして機能させることはできますか?

ありがとう。

4

2 に答える 2

1

同じ質問があります。Linux シェルでの解凍では 1 GB を超える zip ファイルを処理できないと思います。ヘッドレス NAS で無人で解凍する必要があります。今のところ、デスクトップ HD のすべてを解凍し、1 GB 近くになるまでファイルを選択し、アーカイブして削除し、1 GB に達するまで次のファイル セットを選択します。

于 2012-03-30T06:07:28.580 に答える
0

あなたの答えは明確ではありませんが、あなたのジレンマの理解に基づいて答えようとします.

質問

  1. ファイルサイズを制限する必要があるのはなぜですか?
    • 制約要因はサーバーへの転送ですか?
    • (サーバー上の) アプリケーションは、特定のサイズを超えるファイルを処理できませんか?
  2. 処理前に画像ファイルのフラグメントをサーバー上で再結合できるようにプロセスを変更できますか?
  3. クライアントとサーバーで使用されているオペレーティング システムは何ですか?
  4. サーバーへのシェルアクセスはありますか?

いくつかのオプション

  • imagemagickを使用してファイルを縮小し、ファイル サイズの制約内に収まるようにします。

  • Linux/Mac では、これを行うのは比較的簡単です。

    1. split -b 1m my_large_image.jpgb(バイナリファイルで機能するにはパラメータが必要です)
    2. 各ファイルを独自の zip に圧縮します
    3. サーバーにアップロード
    4. 解凍する
    5. フラグメントを連結して画像ファイルに戻します。

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

于 2011-07-28T15:51:24.070 に答える