[英]Using ICSharpCode.SharpZipLib.Zip Subfolder in zip when its not supposed to be
[英]How can i create multiple subfolder inside the zip file using ICSharpCode.SharpZipLib.Zip -— please ignore .. this issue has been resolved
我正在從 Azure blob 容器下載文件。 如果我只創建一個目錄,我的代碼工作正常,但如果我嘗試創建多個目錄,zip 文件會損壞。
var users = new List<long>();
users .Add(1);
users .Add(2);
users .Add(3);
foreach (var user in users)
using (var zipOutputStream = new ZipOutputStream(Response.OutputStream))
{
foreach (CloudBlockBlob item in container.ListBlobs(prefix: blobNamePrefix, useFlatBlobListing: true))
{
zipOutputStream.SetLevel(0);
var blob = container.GetBlockBlobReference(item.Name);
var entry = new ZipEntry(item.Name);
zipOutputStream.PutNextEntry(entry);
blob.DownloadToStream(zipOutputStream);
}
zipOutputStream.Finish();
zipOutputStream.Close();
}
Response.BufferOutput = false;
Response.AddHeader("Content-Disposition", "attachment; filename=" + "zipFileName.zip");
Response.ContentType = "application/octet-stream";
Response.Flush();
Response.End();
}
如果我只使用一個用戶,那么它會在 zip 文件中創建一個新文件夾,並在其中添加所有用戶 blob 文件。 但確實為多個工作。
您的問題是使用 zipOutputStream 位於用戶的每個塊內。
它適用於一個用戶,但不適用於多個用戶。
在 using zipOutputStream 塊內移動用戶的 for each 塊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.