Как использовать System.Io.Compression для замены GzipDo tNet .dll - PullRequest
0 голосов
/ 02 февраля 2020

Я работаю в существующей системе, где данные хранятся в сжатом байтовом массиве в базе данных.

Все существующие данные были сжаты с использованием GZipDo tNet .dll.

Я пытаюсь переключиться на использование функций gzip в System.IO.Compression.

Когда я использую:

public static byte[] DeCompressByteArray(byte[] inArray)
{
    byte[] outStream = null;

    outStream = GZipDotNet.GZip.Uncompress(inArray);

    return outStream;
}

Работает нормально, но:

public static byte[] DeCompressByteArray(byte[] inArray)
{
    byte[] outStream = null;

    using (var compressedStream = new MemoryStream(inArray))
    using (var zipStream = new GZipStream(compressedStream, CompressionMode.Decompress))
    using (var resultStream = new MemoryStream())
    {
        zipStream.CopyTo(resultStream);
        outStream = resultStream.ToArray();
    }
    return outStream;
}

Дает ответ:

Число волхвов c в заголовке GZip не является правильным. Убедитесь, что вы передаете поток GZip

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...