Я пытаюсь заархивировать файл в коде. Ошибка в методе static void CopyStream в строке "dest.Write(buffer, 0, len);". Ошибка: «Плохое состояние (неизвестный метод сжатия (0x4D)»). Любая идея, почему это происходит?
public byte[] ZippingFile()
{
MemoryStream dest = new MemoryStream();
FileStream file = new FileStream(tbPath.Text + @"\" + tbFileName.Text, FileMode.Open, FileAccess.Read);
byte[] array = new byte[0];
try
{
ZlibDecompression(file, dest);
array = dest.ToArray();
}
catch (Exception ex)
{
MessageBox.Show("Error: " + ex.Message, "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
finally
{
file.Close();
dest.Close();
}
return niz;
}
private void ZlibDecompression(Stream src, MemoryStream dest)
{
src.Seek(0, SeekOrigin.Begin);
using (ZlibStream zlibStreamOut = new ZlibStream(dest, CompressionMode.Decompress, CompressionLevel.Level4, true))
{
CopyStream(src, zlibStreamOut);
zlibStreamOut.Close();
dest.Seek(0, SeekOrigin.Begin);
}
}
static void CopyStream(Stream src, Stream dest)
{
byte[] buffer = new byte[1024];
int len = src.Read(buffer, 0, buffer.Length);
while (len > 0)
{
dest.Write(buffer, 0, len);
len = src.Read(buffer, 0, buffer.Length);
}
dest.Flush();
}