使用 Ionic.zip 从字节数组中读取 zip 文件

r m*_*k r 2 c# zip ionic-framework

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

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();
    }
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

Ano*_*ard 5

ZipFile.Read方法需要一个文件名或一个流来读取,所以你需要提供一个流来读取:

using (MemoryStream stream = new MemoryStream(data))
using (ZipFile zout = ZipFile.Read(stream))
{
    // ....
Run Code Online (Sandbox Code Playgroud)