У меня серьезные проблемы с этим.У меня есть функция, которая запрашивает поток, который читается и возвращается дополнительной функцией.Поток принадлежит PNG-изображению, которое изображается как фоновое изображение в графическом окне в форме.Это работает нормально, но я хочу сохранить данные потока в классе streamInfo
в переменной streamData
, чтобы потом я мог передать их другой функции, которая позволяет загружать поток или, скорее, изображение в другое местоFTP-сервер.Когда я передаю поток в качестве аргумента, я получаю сообщение об ошибке
Поток не читается
Если я пытаюсь вывести данные потока в консоль, он просто говорит System.Net.FtpdataStream
.
Как я могу сохранить возвращенный поток (предпочтительно в классе и без его преобразования или кодирования) и затем передать его другой функции, чтобы он все еще читался и мог быть передан в качестве аргумента загрузки?
Это основная функция:
if (content.Contains(box.SelectedItem.ToString()))
{
stream = request_Preview_Image("somePath" + content);
this.imagePreview.BackgroundImage = Image.FromStream(stream);
blitzStream.streamData = stream;
blitzStream.streamName = content;
}
Это вызываемая функция:
Stream request_Preview_Image(string create)
{
FtpWebRequest ftp = (FtpWebRequest)WebRequest.Create("ftp://someFTP" + create);
ftp.Credentials = someCredentials;
ftp.Method = WebRequestMethods.Ftp.DownloadFile;
FtpWebResponse response = (FtpWebResponse)ftp.GetResponse();
try
{
return (Stream)response.GetResponseStream();
}
catch
{
return (Stream)null;
}
}
Это класс:
private class streamInfo
{
public string streamName { get; set; } = null;
public Stream streamData { get; set; }
}
Большое спасибо!