internal void CopyStream(Stream src, Stream dst) { var buf = new byte[4096]; while (true) { int bytesRead = src.Read(buf, 0, buf.Length); //Read returns 0 when reached end of stream. if (bytesRead == 0) break; dst.Write(buf, 0, bytesRead); } }