Почему я не могу установить поток с помощью метода FtpWebRequest.GetRequestStream ()? - PullRequest
1 голос
/ 06 мая 2010

Я пытаюсь написать простой ftp-клиент, используя c # в .NET 2.0, уже 3 дня и чего-то не хватает Я создаю объект ftpWebRequest и устанавливаю все его свойства.

string uri = host + remoteFile;
System.Net.FtpWebRequest ftp = (FtpWebRequest)(FtpWebRequest.Create(uri));
ftp.Credentials = new System.Net.NetworkCredential(username, password);
ftp.KeepAlive = false;
ftp.UseBinary = true;
ftp.Method = System.Net.WebRequestMethods.Ftp.UploadFile;

Но когда я иду, чтобы получить поток, он терпит неудачу ...

System.IO.Stream strm = ftp.GetRequestStream();

Вот ошибка: «System.Net.WebException: удаленный сервер возвратил ошибку: (501) Синтаксическая ошибка в параметрах или аргументах.»

Этот метод ДОЛЖЕН вернуть поток, в который мне нужно написать, и многие примеры делают именно это. Я не уверен, что мне не хватает. Мой хост выглядит так: " ftp: // myhostname / ", и я трижды проверил свои учетные данные.

Пожалуйста, помогите!

Ответы [ 2 ]

0 голосов
/ 02 июля 2012

Вы пропустили "/" после хоста:

string uri = host + "/" + remoteFile;

и строка удаленного файла должна выглядеть следующим образом: file.txt без указания пути.

0 голосов
/ 06 мая 2010

может быть ftp.UseBinary = true; не поддерживается сервером?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...