PDA

Ver la Versión Completa : archivos rotos al subir ftp


pborges36
28-06-2006, 17:41:19
hola a todos, necesito una ayuda: estoy programando en D6, necesito subir archivos a un ftp. Lo hago con el componente TNMFTP. el codigo es mas o menos asi:



function Tdbftp.conectarftp: boolean;
var
res:boolean;
begin
res:=false;
ftp.Host:=ftp_host.Text (ftp:<span <span class='keyword'>class</span>='comment'><span class='comment'>//ftp.Host:=ftp_host.Text);
</SPAN></SPAN> ftp.UserID:=ftp_userId.Text (ftp:<span <span class='keyword'>class</span>='comment'><span class='comment'>//ftp.UserID:=ftp_userId.Text);
</SPAN></SPAN> ftp.Password:=ftp_pass.Text (ftp:<span <span class='keyword'>class</span>='comment'><span class='comment'>//ftp.Password:=ftp_pass.Text);
</SPAN></SPAN> try
ftp.Connect (ftp:<span <span class='keyword'>class</span>='comment'><span class='comment'>//ftp.Connect);
</SPAN></SPAN> res:=true;
except
res:=false;
end;
result:=res;
end;


procedure Tdbftp.Button1Click(Sender: TObject);
begin
if conectarftp then
begin
operacion.Caption:='Enviando archivo';
if archivo<>'' then
begin
ftp.Upload(local.Text,remote.text (ftp:<span class='comment'>//ftp.Upload(local.Text,remote.text));
</SPAN></SPAN> FTP.Disconnect (ftp:<span <span class='keyword'>class</span>='comment'><span class='comment'>//ftp.Disconnect);
</SPAN></SPAN> end
else
MessageDlg('Seleccione un archivo para enviar.', mtError, [mbOK], 0);

end
else
MessageDlg('No se pudo conectar con el servidor', mtError, [mbOK], 0);
end;










la cuestion es que me sube los archivos, pero estan rotos. Probe con varios tipos de archivo: zip,rar,exe,doc. todos rotos. Estare haciendo algo mal?

dec
28-06-2006, 18:08:06
Hola,

No sé yo si tendrá que ver conque "subas" los archivos en modo "texto", en lugar de en modo "binario". Prueba a subir algún archivo de texto y comprueba luego si se "sube" correctamente. Así sabrás que estás subiendo archivos en modo "texto".

Prueba luego a subirlo los archivos en modo "binario", quiero decir, los que ahora te causan problemas. Por otro lado tengo que decir que no nunca utilizé los componentes que mencionas, pero, deben tener algún método,... alguna propiedad, para especificar lo que te digo, el modo en que se suben los archivos.

¡Lo mismo ni es eso, es lo que se me ha ocurrido a bote pronto! ;)

Casimiro Notevi
28-06-2006, 21:17:17
Hola,

No sé yo si tendrá que ver conque "subas" los archivos en modo "texto", en lugar de en modo "binario". Prueba a subir algún archivo de texto y comprueba luego si se "sube" correctamente. Así sabrás que estás subiendo archivos en modo "texto".

Prueba luego a subirlo los archivos en modo "binario", quiero decir, los que ahora te causan problemas. Por otro lado tengo que decir que no nunca utilizé los componentes que mencionas, pero, deben tener algún método,... alguna propiedad, para especificar lo que te digo, el modo en que se suben los archivos.

¡Lo mismo ni es eso, es lo que se me ha ocurrido a bote pronto! ;)

casi seguro que es eso, tnmftp.mode

pborges36
28-06-2006, 21:50:46
Gracias!! Efectivamente era ese el problema.
Nunca asigne ningun valor a TNMFTP.Mode y los archivos txt subian sin problemas.
Ahora utilizo TNMFTP.Mode(MODE_BYTE) y listo.

Gracias de nuevo!!.