Я хотел бы отредактировать изображение, которое находится на FTP-сервере. Я использую SSH.net и вот мой код:Редактировать изображение через MemoryStream (с FTP)
using (var client = new SftpClient(ftpUploadPath, ftpPort, ftpUser, ftpPassword))
{
client.Connect();
using (var stream = new MemoryStream())
{
client.DownloadFile(fileName, stream);
using (var img = Image.FromStream(stream, true))
{
img.RotateFlip(RotateFlipType.Rotate90FlipNone);
img.Save(stream, ImageFormat.Jpeg);
client.UploadFile(stream, fileName);
}
}
}
Все правильно, пока «client.UploadFile», которые стирают изображение на FTP-сервер с помощью 0 октета изображения. Изображение на FTP-сервере - .jpg. Я уже использую «client.UploadFile» с FileStream, и он отлично работает. Но в этом случае я не хочу сохранять файл на своем сервере IIS, изменять его, а затем загружать на FTP-сервер ... Любая идея?
Сброс потока в 0 после сохранения его – noelicus
... и перед сохранением его также, как после чтения изображение будет в конце. В любом случае было бы лучше создать новый поток. –
Огромное спасибо вам обоим! Установка позиции потока на 0 позволила мне сохранить изображение, но без вращения. Сохранение его через новый поток дало мне первый вопрос. Но оба сделали работу :) – Gun