Мой клиент TCP получает изображение внутри пакета. Изображение сжимается с помощью zlib. Задача состоит в том, чтобы распаковать изображение и поместить его в форму.
Я планирую сохранить сжатое изображение в текущем каталоге, распаковать его и загрузить распакованный файл в форме.
Первая проблема заключается в сохранении файла (сжатого). zlib может сохранить его распакованными.
Код ниже загружает сжатый файл и сохраняет его после распаковки.
private void decompressFile(string inFile, string outFile)
{
System.IO.FileStream outFileStream = new System.IO.FileStream(outFile, System.IO.FileMode.Create);
zlib.ZOutputStream outZStream = new zlib.ZOutputStream(outFileStream);
System.IO.FileStream inFileStream = new System.IO.FileStream(inFile, System.IO.FileMode.Open);
try
{
CopyStream(inFileStream, outZStream);
}
finally
{
outZStream.Close();
outFileStream.Close();
inFileStream.Close();
}
}
public static void CopyStream(System.IO.Stream input, System.IO.Stream output)
{
byte[] buffer = new byte[2000];
int len;
while ((len = input.Read(buffer, 0, 2000)) > 0)
{
output.Write(buffer, 0, len);
}
output.Flush();
}
Как передать массив byte [] непосредственно в эту функцию? Я планирую сохранить его как сжатый, а затем вызвать функцию с расположением сжатого файла, но я не знаю ни того, как сохранить файл из массива byte [], ни способ передать массив byte [] как входной файл.
Любая помощь будет высоко оценена.
Спасибо.