Здравствуйте, 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 >>