Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Archivos corruptos con componente TIdFtp (Indy) (https://www.clubdelphi.com/foros/showthread.php?t=73257)

Galahad 11-04-2011 19:39:32

Archivos corruptos con componente TIdFtp (Indy)
 
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;



La franja horaria es GMT +2. Ahora son las 02:48:21.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi