Re: FTP и C#
От: Lexey Россия  
Дата: 09.07.04 23:35
Оценка: :)
Здравствуйте, INsideR, Вы писали:

INR>Как загрузить файл по FTP на C# не используя ASP.NET.


А причем тут ASP.NET? В текущих фреймворках, AFAIK, вообще нет классов для работы с FTP.
Могу в принципе подарить враппер над WinInet, который я сваял около 3-х лет назад на MC++. Только сразу предупреждаю, что код там написан в матером сишном стиле (не было для меня в ту пору такого понятия, как code standard , практически лишен комментариев и содержит как минимум один небольшой глюк в работе с таймаутами.
Использование этого дела выглядит примерно так:
            FtpClient fc=new FtpClient();
            fc.Timeout=20000;
            fc.Connect("lexey","anonymous","lexey@isa.ru");
            FtpFileInfo []fi=fc.ListFiles("*.*",(uint)0xffffffff);
            for(int i=0;i<fi.Length;i++) Console.WriteLine("Name="+fi[i].FileName+" Size="+fi[i].FileSize);
            fi=fc.ListFiles("*.*",FtpFileType.FileTypeDirectory);
            for(int i=0;i<fi.Length;i++) Console.WriteLine("Name="+fi[i].FileName+" Size="+fi[i].FileSize);
Size="+fi[i].FileSize);
            fc.CreateDirectory("superdir");
            fc.SetCurrentDirectory("superdir");
            String s=fc.GetCurrentDirectory();
            Console.WriteLine(s);
            fc.SetCurrentDirectory("/");
            s=fc.GetCurrentDirectory();
            Console.WriteLine(s);
            fc.RemoveDirectory("superdir");
            fc.Timeout=60000;
            fc.PutFile("a.a","c:\\temp\\1.1");
            fc.Timeout=20000;
            fc.RenameFile("a.a","a.aaa");
            fc.Timeout=60000;
            fc.GetFile("a.aaa","c:\\temp\\a.aaa");
            fc.Timeout=20000;
            fi=fc.ListFiles("*.*",FtpFileType.FileTypeFile);
            for(int i=0;i<fi.Length;i++) Console.WriteLine("Name="+fi[i].FileName+" Size="+fi[i].FileSize);
            fc.DeleteFile("a.aaa");
            fc.Disconnect();
... << RSDN@Home 1.1.4 beta 1 >>
"Будь достоин победы" (c) 8th Wizard's rule.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.