从存储在blob存储中的zip存档中将文件提取并复制到本地文件夹

时间:2011-10-03 14:45:02

标签: c# io compression zip

我已将我的zip文件存储在blob存储中。我已经阅读了从blob到stream的存档  .Code如下

string blobUrl = http://127.0.0.1:10000/devstoreaccount1/usercontrols/ucProfileViewSMSIS.zip";
string containerName = "usercontrols";
Storage.Blob blobHandler = new Storage.Blob();
Stream blobstream = blobHandler.GetBlob(blobUrl, containerName);

我的档案中有三个文件。我想写这3个文件到我的本地文件夹。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

您需要一个像DotNetZip这样的解压缩文件库来解压缩文件。在examples部分下,有一种直接从流解压缩的方法:

  

来自流的输入。此示例从中读取zip存档内容   输入流,然后将一个条目的内容提取到filesysten   文件。在此示例中,文件名为" NameOfEntryInArchive.doc",引用   仅限于zip存档中条目的名称。这个名字是   用作ZipFile对象的字符串索引器中的索引。该   返回值是一个ZipEntry。然后是ZipEntry.Extract()方法   调用,使用。提取命名条目到文件系统文件   当前工作目录为基础。创建该名称的文件   在文件系统中。

using (ZipFile zip = ZipFile.Read(InputStream))
  {
    ZipEntry entry = zip["NameOfEntryInArchive.doc"];
    entry.Extract();  // create filesystem file here. 
  }