Hola, buenas tardes, estoy trabajando en un programa para subir archivos vía ftp con delpi. Utilizo delphi 2010 y la versión del componente indy es la 10.5.5.
El problema es que el archivo lo sube sin poner pegas pero sube el archivo de manera corrupta, es decir no los consigue ejecutar en caso de los exe o en mi caso WinRar me dice que el archivo esta corrupto a la hora de extraer en el caso de los zip.
Tengo puesto el tipo de transferencia en binario y el modo pasivo a TRUE.
También he especificado el tipo de transferencia a binario vía codigo justo antes de transferir el archivo con put y sigue igual.
También he comprobado que el tamaño del archivo subido es el correcto.
Se me han acabado las ideas de qué puedo hacer. Si alguien pudiera comentarme una solución estaría agradecido.
Abajo os dejo citado el código.
Gracias de antemano. Saludos.
Código:
if not idftp1.Connected then
idftp1.Connect;
idftp1.changedir(FmPrincipal.dirInicialftp);
nombreFichero:=ExtractFileName(EFichero.text);
if (IdFTP1.Connected) then
begin
try
IdFTP1.ChangeDir(fmprincipal.dirdescargainternet);
except
on e:exception do
begin
showMessage('No se encuentra el directorio destino'+#13+E.Message);
exit;
end;
end;
try
idftp1.List(nombreFichero,false);
if length(idftp1.ListResult.Text) > 0 then
begin
idftp1.delete(nombreFichero)
end;
except
end;
label6.Caption:='Subiendo fichero...';
tamano :=tamanode(EFichero.Text);
application.processmessages;
try
abortarFTP:=false;
idftp1.Passive := TRUE;
idftp1.TransferType := ftBinary;
idftp1.put(EFichero.Text);
if abortarFTP then exit;
idftp1.quit;
idftp1.disconnect;