Горячий перевод с FTP на локальный каталог на моем компьютере в C # - PullRequest
0 голосов
/ 12 августа 2011

У меня есть FTP-сервер на моем компьютере (Windows-7) с именем MyFTP

У меня есть этот код для передачи из локального каталога на FTP-сервер

этот код работает отлично

string MyFile = @"d:\Test.txt";

            //string url = "ftpUrl/FileName";
            string url = "ftp://127.0.0.1/Test.txt";

            FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(url);

            request.Method = WebRequestMethods.Ftp.UploadFile;
            //request.Credentials = new NetworkCredential("user name", "password");
            request.UsePassive = true;
            request.UseBinary = true;
            request.KeepAlive = false;


            byte[] buffer = File.ReadAllBytes(MyFile);

            using (Stream reqStream = request.GetRequestStream())
            {
                reqStream.Write(buffer, 0, buffer.Length);
            }

и теперь мне нужно перейти с FTP-сервера в локальный каталог на моем компьютере

как это сделать?

Ответы [ 2 ]

4 голосов
/ 12 августа 2011

Я бы предложил использовать WebClient, API немного проще

using (WebClient ftpClient = new WebClient())
{
    ftpClient.Credentials = new System.Net.NetworkCredential("username", "password");
    ftpClient.DownloadFile("ftp://127.0.0.1/destination.txt", "C:\\source.txt");
}
0 голосов
/ 18 мая 2014

Если вам нужно использовать FtpWebRequest, это должно сделать работу

FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://127.0.0.1/Test.txt");
request.Method = WebRequestMethods.Ftp.DownloadFile;
//request.Credentials = new NetworkCredential("user name", "password");
request.UsePassive = true;
request.UseBinary = true;
request.KeepAlive = false;

byte[] data;

using (var responce = request.GetResponse())
using (var stream = responce.GetResponseStream())
using (var reader = new BinaryReader(stream))
{
     data = reader.ReadBytes((int)stream.Length);
}

Я знаю, что есть более эффективные и безопасные способы очистки потока.но это будет работать.

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