Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-09-2007
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
¿Existe un fichero en la Web?

Estoy usando la función "Bajar()" de Seoane, que encontrado en el apartado de trucos del Club. Pero tengo un problema: cuando no existe el fichero en la web de la que pretendo bajarlo, me crea un fichero con "basurilla" por lo que os agradecería alguna idea o función para saber si existe, antes de intentar bajarlo.

Gracias por leerme, y sobretodo por ayudarme. Soy nuevo en el Foro, y no soy un experto, pero si en algo puedo ayudar a alguien, no dudeis que lo haré encantado.

Un saludo a todos.
Responder Con Cita
  #2  
Antiguo 10-09-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por jhonalone Ver Mensaje
Estoy usando la función "Bajar()" de Seoane, que encontrado en el apartado de trucos del Club. Pero tengo un problema: cuando no existe el fichero en la web de la que pretendo bajarlo, me crea un fichero con "basurilla" por lo que os agradecería alguna idea o función para saber si existe, antes de intentar bajarlo.
Basurillla no es Lo que se guarda en el fichero es lo que le devuelve el servidor, que en la mayoría de los casos sera un mensaje de error, el típico "Not Found".

El problema es que muchos servidores no devuelven un mensaje con el código 404 (Not Found) , sino que devuelven un mensaje 302 (Found) o incluso un 200 (OK) como si la petición hubiera tenido éxito. Hacen esto para así forzar que se muestre su pagina de error personalizada y no la que usa por defecto el explorer.

Si estas bajando algo de internet, deberías de comprobar lo que bajas una vez lo has bajado, no fiarte ciegamente de lo que te manda el servidor. Si por ejemplo esperas una foto jpg y recibes un texto, es evidente que algo fue mal, y diferenciar una imagen jpeg de un texto es bastante sencillo.
Responder Con Cita
  #3  
Antiguo 10-09-2007
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Gracias, Seoane.
Voy a intentar trabajar sobre la idea que me apuntas de comprobar lo que he bajado y luego te cuento.
Un saludo.
Responder Con Cita
  #4  
Antiguo 10-09-2007
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Estoy comprobando que tengo que hacer la comprobación "a posteriori", y yo necesito hacerla "at runtime". No es que me baje cualquier cosa, lo que pretendo bajarme es de mi web.

InternetReadFile(hUrl, @Buffer, sizeof(Buffer), BytesRead) devuelve BytesRead=0 la segunda vez que lo hace dentro del bucle While, cuando no existe el fichero, pero no la primera vez.
Seguiré estudiando el asunto, y si encuentro algún modo de resolverlo "on line", lo pongo aquí por si le sirve a alguien.

Saludos
Responder Con Cita
  #5  
Antiguo 23-09-2007
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Solución Provisional

Bueno, como os dije he encontrado una solución provisional, poco elegante, pero efectiva sólo para ficheros tipificados. Se trata de abrir el fichero recibido como tipo Byte y comprobar si el (tamaño mod Variable) es cero. Ya comprendo que por esto del azar en algunos casos Murphy hará que coincida, pero en la mayoría me servirá, a la espera de otra solución más definitiva.

Si encuentro otra solución, os lo haré saber, ya que veo que no es una cosa sencilla y que es bastante importante a la hora de bajar ficheros.

Un saludo, y gracias por ayudarme y leerme.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
existe elcigarra Varios 1 02-01-2007 00:21:15
Saber si existe un fichero en una carpeta FTP con C# en ASP.NET Lester .NET 1 11-12-2006 17:07:13
Obtener un fichero adjunto a un nodo de un fichero XML muntasil Internet 0 18-07-2006 12:57:57
Existe ? Descendents Varios 1 20-10-2003 18:04:25
Componente ya existe????? Manuel Varios 2 22-09-2003 16:16:29


La franja horaria es GMT +2. Ahora son las 21:58:57.


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
Copyright 1996-2007 Club Delphi