Есть метод, который делает загрузку файла с FTP.
Мне этот файл на диске не нужен — я его решил загрузить в MemoryStream:
//приготовление запроса...
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
response.GetResponseStream(); // тут мы имеем объект типа Stream
Если сделать что то типа:
MemoryStream s = response.GetResponseStream();
то в s нету ничего.
А если же сделать
return response.GetResponseStream();
и использовать результат метода в другом месте — то все работает.
Я тут чегото недопонимаю. Как мне в MemoryStream засунуть результат response.GetResponseStream()?
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, Аноним, Вы писали:
А>Есть метод, который делает загрузку файла с FTP.
А>Мне этот файл на диске не нужен — я его решил загрузить в MemoryStream:
А>//приготовление запроса...
А>FtpWebResponse response = (FtpWebResponse)request.GetResponse();
А>response.GetResponseStream(); // тут мы имеем объект типа Stream
Тут мы имеем стрим, с помощью которого будем читать данные с сервера.
А>Если сделать что то типа:
А>MemoryStream s = response.GetResponseStream();
А>то в s нету ничего.
Это как-бы не должно скомпилироваться.
А>А если же сделать
А>return response.GetResponseStream();
А>и использовать результат метода в другом месте — то все работает.
Удивительно: обычно сетевые стримы сильно отличаются от, например, даже файловых, не то что от Memory.
А>Я тут чегото недопонимаю. Как мне в MemoryStream засунуть результат response.GetResponseStream()?
Скопировать. Читать из серверного стрима и писать в MemoryStream. Потом наружу отдать Memory.