hola ....
aki te posteo una posible solucion utilizando los IdTCP de las Indy
del lado servidor:
pon un TIdTCPServer en una form y hazle un command handler k se llame upload por ejemplo y ponle al recibir el komando el siguiente kodigo:
Código:
procedure TForm1.IdTCPServer1UploadCommand(ASender: TIdCommand);
var
archivo : TFileStream;
fout: string;
begin
try
fout:= 'd:\'+ASender.Params[0];
archivo := TFileStream.Create(fout,fmCreate or fmOpenWrite);
ASender.Thread.Connection.ReadStream(archivo);
finally
archivo.Free;
end;
end;
del lado cliente:
inserta un TIdTCPClient.
kuando kieras enviar el archivo ejemplo usando un button:
Código:
procedure TForm1.Button1Click(Sender: TObject);
var
archivo: TFileStream;
AFile: string;
begin
AFile:= 'D:\Administrador\$h@\FantasticTool.exe';
if FileExists(AFile) then begin
archivo:= TFileStream.Create(AFile,fmOpenRead);
try
IdTCPClient1.Connect();
if IdTCPClient1.Connected then begin
IdTCPClient1.WriteLn('Upload '+ExtractFileName(AFile));
IdTCPClient1.WriteStream(archivo,true,true);
end;
finally
archivo.Free;
IdTCPClient1.Disconnect;
end;
end else begin
end;
end;
espero te sirva de ayuda... es menos k implementar un FTP kompleto. aunke si estas interesado en algo komo esto te rekomiendo utilizar el de las ICS. (en mi opinion esta mucho mas trabajado y kompleto ***ademas de muy sencillo*** k el de las INDY)
salu2