2

私の Windows Azure コードでは、Blob Storage から ZIP ファイルをダウンロードしてその場で解凍し、解凍した内容をディスクに保存したいと考えています。このようにして、最初にファイルをディスクに書き込み、次に抽出を行うときにそれを読み取ることを節約します。

そのために DotNetZip を使用しようとしています。

ZIP ファイルはもともと非常に大きいため、いくつかに分割され (マルチパート アーカイブではなく、単純な ZIP アーカイブであり、より小さなファイルに分割されているだけです)、各部分が Blob Storage にアップロードされます。すべてのパーツを繰り返し処理し、必要に応じて各ブロブを開く方法を知っていますn

Azure SDK には、子孫CloudBlob.OpenRead()を返す機能があります。Stream

DotNetZip にはZipInputStream、 を受け入れるコンストラクタを持つクラスがありStreamます。

ZIP ファイルの断片を 1 つずつダウンロードしてその場で抽出できるように、これらの断片を接続するにはどうすればよいですか?

4

1 に答える 1

0

その位置に従って、対応する CloudBlob からデータを返す独自のストリーム クラスを作成します。

次に、このクラスを の入力ストリームとして使用しますZipInputStream

public sealed class ZipBlobStream : Stream
{
...

http://msdn.microsoft.com/library/system.io.stream.aspx

于 2012-07-11T07:57:57.300 に答える