Ответ 1
Если вы хотите что-то загрузить, вы должны предоставить FTPClient имя файла.
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://12.22.44.45/myNewFile.dat");
Я пытаюсь загрузить файл в каталог на FTP-сервере. Я использовал этот метод с FtpWebRequest
.
Я хотел бы загрузить один файл в домашний каталог этого пользователя, но всегда получаю следующее сообщение об ошибке:
Запрошенный URI недействителен для этой команды FTP.
Что может быть проблемой? Я пробовал использовать пассивный режим, но он все тот же.
static void FtpUpload()
{
// Get the object used to communicate with the server.
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://12.22.44.45");
request.Method = WebRequestMethods.Ftp.UploadFile;
request.UsePassive = false;
// This example assumes the FTP site uses anonymous logon.
request.Credentials = new NetworkCredential("pokus", "password");
// Copy the contents of the file to the request stream.
StreamReader sourceStream = new StreamReader(path);
byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
sourceStream.Close();
request.ContentLength = fileContents.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Console.WriteLine("Upload File Complete, status {0}", response.StatusDescription);
response.Close();
}
Если вы хотите что-то загрузить, вы должны предоставить FTPClient имя файла.
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://12.22.44.45/myNewFile.dat");
Я предлагаю вам использовать WebClient, который является абстракцией более высокого уровня и работает с HTTP и FTP и имеет гораздо более простой интерфейс API и производительность примерно одинаковый (использует тот же API).
Здесь загрузить данные.