我正在尝试将文件流保存到Zip流。
代码:
public static MemoryStream ZipFiles(Dictionary<string, byte[]> files)
{
var output = new MemoryStream();
using (var zip = new ZipFile())
{
foreach (var file in files)
{
var ms = new MemoryStream(file.Value);
ms.Seek(0, SeekOrigin.Begin);
zip.AddEntry(file.Key, ms);
zip.Save(output);
}
}
return output;
}
它正在工作,但现在在第二次循环zip.Save它抛出一个ZipException,消息“无法读取它作为ZipFile”。 InnerException“对象引用未设置为对象的实例”。
任何帮助都会很棒。
答案 0 :(得分:1)
尝试使用下一个代码:
var output = new MemoryStream();
using (var zip = new ZipFile())
{
foreach (var file in files)
{
var ms = new MemoryStream(file.Value);
ms.Seek(0, SeekOrigin.Begin);
zip.AddEntry(file.Key, ms);
}
zip.Save(output);
}
return output;