0

我正在尝试将文件流保存到 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“对象引用未设置为对象的实例”。

任何帮助都会很棒。

4

1 回答 1

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;
于 2012-12-15T20:41:19.440 回答