Магическое число в заголовке GZip неверно, декомпрессия дает мне ошибку - PullRequest
0 голосов
/ 08 октября 2018

Этот метод распаковки выдаёт мне ошибку, в которой эта строка (numRead = Decompress.Read(buffer, 0, buffer.Length)) != 0 выдаёт мне ошибку, как Магическое число в заголовке GZip неверно.Убедитесь, что вы передаете поток GZip.

Я разместил здесь свой код с

public bool Decompress(string zipPathAndFile, string outputFolder, string password, bool deleteZipFile)
{
    FileInfo fi = new FileInfo(zipPathAndFile);
    try
    {
        // Get the stream of the source file.
        using (FileStream inFile = fi.OpenRead())
        {
            // Get original file extension, for example "doc" from report.doc.gz.
            string curFile = fi.Name;
            string origName = curFile.Remove(curFile.Length - fi.Extension.Length);

            //Create the decompressed file.
            using (FileStream outFile = File.Create(outputFolder.TrimEnd('\\') + '\\' + origName))
            {
                using (GZipStream Decompress = new GZipStream(inFile, CompressionMode.Decompress))
                {
                    //Copy the decompression stream into the output file.
                    byte[] buffer = new byte[4096];
                    int numRead;
                    while ((numRead = Decompress.Read(buffer, 0, buffer.Length)) != 0)
                    {
                        outFile.Write(buffer, 0, numRead);
                    }
                }
            }
        }
        return true;
    }
    catch (System.Exception exc)
    {
        ExceptionManagerBll.ErrHandler(exc, "ERR", 3, new StackTrace(new StackFrame(true)).GetFrame(0).GetFileLineNumber(), new StackTrace(new StackFrame(true)).GetFrame(0).GetMethod().DeclaringType.Name, new StackTrace(new StackFrame(true)).GetFrame(0).GetMethod().Name, "Error is Occured", true, false, "", "");
        return false;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...