正在工作:
using (ZipInputStream s = new ZipInputStream(File.OpenRead(zipFile)))
{
ZipEntry theEntry;
while ((theEntry = s.GetNextEntry()) != null)
{
}
}
无效,memorystream
using (ZipInputStream s = new ZipInputStream(memorystream))
{
ZipEntry theEntry;
while ((theEntry = s.GetNextEntry()) != null)//Exception **EOF in header**
{
}
}
如何转换?
答案 0 :(得分:13)
在不了解您正在使用的ZipInputStream
的情况下,唯一可以冒险的猜测是,它尝试使用您传递的MemoryStream
,之后该流的位置已重置为开始。尝试在代码段之前添加此行:
memoryStream.Seek(0, SeekOrigin.Begin);
答案 1 :(得分:2)
FileStream fs = new Filestream();
对new Filestream();
的调用不正确。 FileStream
没有任何带零参数的构造函数。