gpt4 book ai didi

c# - Ziparchive:如何从 ziparchive 关闭创建的条目

转载 作者:行者123 更新时间:2023-12-05 00:48:22 25 4
gpt4 key购买 nike

我已经编写了如下方法将多个 Memorystream 绑定(bind)到 ziparchive。该代码适用于一个流,但如果我通过迭代添加多个流,则它会在 for 循环的第二行显示以下错误。

 System.IO.IOException: 'Entries cannot be created 
while previously created entries are still open.'

我的代码,

 using (var zip = new ZipArchive(outputStream, ZipArchiveMode.Create, 
leaveOpen: false))
{

for (int i = 0; i < msList.Count; i++)
{
msList[i].Position = 0;
var createenter = zip.CreateEntry("123"+i+".jpg",
CompressionLevel.Optimal);
msList[i].CopyTo(createenter.Open());

}
}

最佳答案

可能在打开的Stream上错过了using

 using (var zip = new ZipArchive(outputStream, ZipArchiveMode.Create, leaveOpen: false))
{
for (int i = 0; i < msList.Count; i++)
{
msList[i].Position = 0;
var createenter = zip.CreateEntry("123"+i+".jpg",
CompressionLevel.Optimal);
using (var s = createenter.Open())
{
msList[i].CopyTo(s);
}
}
}

关于c# - Ziparchive:如何从 ziparchive 关闭创建的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51719292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com