是否可以使用 .net 4.5 System.IO.Compression类在其中创建一个包含目录的 zip 。
我似乎找不到任何暗示你可以的东西。
我有许多动态生成的文件作为字节数组,我想添加到 zip 中的子文件夹中。
我到目前为止的代码是
var stream = new MemoryStream();
using (var zip =new ZipArchive(stream, ZipArchiveMode.Create,true))
{
var zipEntry = zip.CreateEntry(string.Format("{0} Manual.pdf", plant.Name));
using (var writer = new BinaryWriter(zipEntry.Open()))
{
writer.Write(manualPdf);
}
var attachments = GetAttachments(manual.Headings);
foreach (var attachment in attachments.Where(attachment => attachment != null && attachment.Data != null))
{
var attachmentEntry = zip.CreateEntry(attachment.FileName);
using (var writer = new BinaryWriter(attachmentEntry.Open()))
{
writer.Write(attachment.Data);
}
}
}
在这种情况下,我希望附件的循环位于 zip 的子目录中。附件列表是 byte[] 列表