Я пытаюсь загрузить сжатый GZipStream на sftp-сервер, используя библиотеку ssh.net. Проблема в том, что когда я создаю GZipStream, его больше нельзя прочитать. Ниже мой код:
using (SftpClient client = new SftpClient(connectionInfo))
{
client.Connect();
client.ChangeDirectory("/upload");
var uploadFileDirectory = client.WorkingDirectory + "\testXml.xml.gz";
using (GZipStream gzs = new GZipStream(stream, CompressionLevel.Fastest))
{
stream.CopyTo(gzs);
client.UploadFile(gzs, "text.xml.gz");
}
}
UploadFile SftpClient принимает поток, и мне нужно загрузить сжатый GzipStream (без сохранения на локальный диск и повторного чтения). Но GZipStream не позволяет читать, когда он сжат. Я попытался выполнить загрузку вне предложения gzipstream using, и он говорит, что к потоку нет доступа.
Как я могу подойти к этому? Возможно ли сделать это напрямую или мне нужно записать его на локальный диск, а затем загрузить...