Приветствую. в общем суть такова, пишу программу, заливающую на ftp файлы, бинарники, работал с indy. но вылезла очень нехорошая проблемка: все залитые файлы оказываются битыми... т.е. до того как я их залил на сервер, работали отлично, после заливки все файлы битые. ни один не открывается, на несколько килобайт все файлы меньше оригиналов... ктонибудь сталкивался? Если да, то как решить? Попробывал библиотеку ICS, такаяже проблема... файлы просто портятся при закачке на сервер... и такое наверное только с бинарниками, попробывал залить картинку, все ок, а exe файлы портятся. этот компонент проверял на стандартном примере от разработчиков ICS что лежит вместе с компонентом. т.е. просто откомпиллировал и все... помогите разобраться плз))
1) проверь режим заливки файла. надо чтобы был бинарный а не текстовый 2) для теста попробуй залить этот же файл на тотже FTP но через эксплорер или Total Commander или еще что нить. может там просто на серваке что-то не то 3) Попробуй написать еще на WinInet всё.
ищу примеры на WinInet, но нигде ничего нету... именно надо залить на фтп. Попробывал залить через FileZilla на фтп, все ок, файлы залились.
Все нормально заливается. INDY 9 PHP: TIdFTP* ftp = new TIdFTP(NULL); ftp->Username = "login"; ftp->Password = "password"; ftp->Host = "moiserver.ru"; ftp->Passive = true; ftp->Connect(); ftp->Put("1.exe", "1.exe");
у меня немного другая процедура, но суть таже... Indy 10 Delphi 7 Code: procedure toFTP; var i:Integer; begin Form1.idFTP1.Host := Form1.Edit2.Text; Form1.idFTP1.UserName := Form1.Edit3.Text; Form1.idFTP1.Password := Form1.Edit4.Text; Form1.idFTP1.Port:=21; Form1.idFTP1.Connect; if Form1.idFTP1.Connected then begin for i:=0 to Form1.lst1.Count-1 do begin Form1.idftp1.Put('C:\1\files\'+GetFileNameWOExt(Form1.lst1.Items.Strings[i])+'.exe',GetFileNameWOExt(Form1.lst1.Items.Strings[i])+'.exe', true); end; Form1.idFTP1.Disconnect; // отклдючаемся end; end; И всеравно работает плохо, бинарники битые... может у когонить есть код на WinInet? поделитесь)))
Хреново искал значит. В MSDN всё расписано хорошо. hInet = InternetOpen hFtp = InternetConnect (hInet, ***, INTERNET_SERVICE_FTP,INTERNET_FLAG_PASSIVE, ***) FtpPutFile(hFtp, ***) InternetCloseHandle(hFtp) InternetCloseHandle(hInet )