2011-10-03 124 views
1

我已將我的zip文件存儲在BLOB存儲中。我已經從BLOB讀取歸檔流 。代碼如下所示從存儲在BLOB存儲中的zip存檔中提取文件並將其複製到本地文件夾

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

請不要在「C#」前添加標題。標籤已經完成了這項工作,但不會讓您的標題無法讀取 –

回答

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. 
    } 
相關問題