2

在我的 Windows Azure 代码中,我想从 Blob Storage 下载一个 ZIP 文件并即时解压缩并将解压缩的内容存储到磁盘。这样我就可以先将文件写入磁盘,然后在提取时读取它。

我正在尝试为此使用 DotNetZip。

ZIP 文件本来就很大,所以被切成小块(不是多部分存档,而是普通的 ZIP 存档,只是切成更小的文件),每块都上传到 Blob Storage。我知道如何遍历所有部分并在需要时打开每个 blob

Azure SDK 具有CloudBlob.OpenRead()返回Stream后代。

DotNetZip 的ZipInputStream类有一个接受Stream.

如何将这些片段连接在一起,以便我可以一个一个下载 ZIP 文件片段并即时提取它们?

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 回答