[ Vladica Savić @ 02.06.2008. 10:45 ] @
Kako mogu da posaljem neki fajl na server preko moje aplikacije?

Pokusao sam sa primerom koji ide uz indy komponente ali nece da funkcionise.

Ima li neko neki drugi primer kako da to moze da se odradi?
[ Miloš Baić @ 02.06.2008. 12:15 ] @
Pozdrav Vlado,

baš pre neko vreme sam radio na tome. U stvari, pravio sam activex (dll) koji to radi. Pogledaj Indy10 i primer koji ima, možda deluje komplikovano, i meni je dok primer nisam proučio, al malo si daj vremena, raščlani aplikaciju, vidi šta se s čim vezuje i rešićeš problem.
[ savkic @ 02.06.2008. 14:16 ] @
> Kako mogu da posaljem neki fajl na server preko moje aplikacije?
> Pokusao sam sa primerom koji ide uz indy komponente ali nece da funkcionise.

Nisam imao nikada problema sa time, i ja sam koristio Indijev demo. Bilo je Indy verzija koje su imale bagove (ne demo, već komponente) pa proveri da li imaš ispravnu verziju. Konkretno za tvoj slučaj, razjasni malo do kog dela stižeš (login, odlazak u dir, upload)? Proveri da li taj user ima write pravo u tom FPT diru i fajl nema nedozvoljen naziv, ali u principu ako ne uspe upload trebalo bi da dobiješ grešku.
[ Vladica Savić @ 02.06.2008. 15:25 ] @
Kad probam da se povezem preko Indy FTP Client Demo-a na svoj sajt i kad unesem trazene podatke kaze:

"I won't open a connection neki_ip (moj ip)"

A u informacijama o toku izvrsenja programa stoji:

Resolving host name ime_hosta_gde_se_konektujem.
Conecting to IP_Adresa_Hosta.
Conected.
Starting FTP transfer
Transfer aborted
Disconecting.
Disconected.

??
[ savkic @ 02.06.2008. 16:48 ] @
> "I won't open a connection neki_ip (moj ip)"
> Conected.
> Starting FTP transfer
> Transfer aborted

Proveri Firewall, FTP koristi razne portove (ne samo default) takođe pokušaj da koristiš passive mode (ili ga isključi ako je setovan).
[ Vladica Savić @ 02.06.2008. 17:41 ] @
Opet nece

Ima li neki drugi nacin da se odradi posao?
[ savkic @ 02.06.2008. 20:11 ] @
> Ima li neki drugi nacin da se odradi posao?

Onda je možda firewall. Pošalji test primer pa da vidimo ako si eventualno nešto prevideo.
[ Vladica Savić @ 02.06.2008. 20:35 ] @
Ma nisam menjao nista, samo sam promenio koji fajl odakle da vuce sa mog kompa i gde da postavi na net. Ostalo je sve onako kako je i bilo u primeru. Koristim indy 10 komponente...

---
offtopic - ako odgovaram putem maila kako da odgovorim normalno a da mi se ne pokazuje nista visak??? Pocinje da me nervira i to
[ savkic @ 03.06.2008. 09:04 ] @
Evo jednostavnog primera, ti pokušaj sa promenom passive parametra i sa nekim drugim ftp serverom. Ako ti opet ne prođe onda imaš verovatno imaš nešto što ometa komunikaciju (firewall, proxy...) ili bugovitu Indy verziju (kod mene je 10.1.15).

Code:

var
  f: TIdFTP;
begin
  f := TIdFTP.Create(nil);
  try
    f.Host := 'ftp.sezampro.yu';
    f.Username := 'xxxxxx';
    f.Password := 'xxxxxx';
    //f.Passive := True;
    f.Connect;

    f.ChangeDir('LOCAL');
    f.Put('C:\Boot.ini');
    f.Disconnect;
  finally
    f.Free;
  end;
[ morlic @ 03.06.2008. 09:30 ] @
A probao si npr. sa nekim ftp klijentom (npr. iz total cmd.)?
[ Vladica Savić @ 03.06.2008. 10:39 ] @
Citat:
morlic: A probao si npr. sa nekim ftp klijentom (npr. iz total cmd.)?


Jesam, totalcmd radi bez problema kad postavim pasive mod ukljucen.

A sad radi i primer koji je savkic postavio.

Ali mi i dalje nije jasno zasto onaj demo nije hteo... ?

...no nema veze, vazno da radi

Hvala puno jos jednom.

Dakle ovo radi:
Code:

var
  f: TIdFTP;
begin
  f := TIdFTP.Create(nil);
  try
    f.Host := 'ftp.sezampro.yu';
    f.Username := 'xxxxxx';
    f.Password := 'xxxxxx';
    //f.Passive := True;
    f.Connect;

    f.ChangeDir('LOCAL');
    f.Put('C:\Boot.ini');
    f.Disconnect;
  finally
    f.Free;
  end;
[ mikia @ 12.11.2008. 16:03 ] @
Da li neko ima primer coda gde je realizovan progres bar priliko slanja fajla sa klijenta na server?
[ savkic @ 12.11.2008. 19:38 ] @
Imaš u Indy FTP demu, treba da handluješ OnWork event.