我有一段代码可以解压缩字节数组:

public static byte[] Decompress(this byte[] data)
{
    using (ZipFile zout = ZipFile.Read(data))
    {
        ZipEntry entry = zout.FirstOrDefault();
        Assert.ObjectIsNotNull(entry, "Unable to find default ZIP entry");
        MemoryStream zos = new MemoryStream();
        entry.Extract(zos);
        return zos.ToArray();
    }
}


我已升级到Ionic.zip的最新版本,现在出现以下错误:


  无法将byte []转换为字符串。


在最新版本中,过载ZipFile.Read(byte[])不再可用。

如何从字节数组读取zip文件?

最佳答案

ZipFile.Read方法使用文件名或流来读取,因此您需要提供一个流以供其读取:

using (MemoryStream stream = new MemoryStream(data))
using (ZipFile zout = ZipFile.Read(stream))
{
    // ....

关于c# - 使用Ionic.zip从字节数组读取zip文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38381684/

10-13 07:03