Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-08-2008
c0lo c0lo is offline
Miembro
 
Registrado: Aug 2008
Posts: 18
Poder: 0
c0lo Va por buen camino
Descargar un archivo de Internet

Disculpen yo de nuevo con una pregunta que tengo o duda que tengo, empezando con WebBrowser, ahora tengo una web en la cual cuando descargo un archivo de dicha web me genera un ventana como esta:


ahora lo que yo quiero es automatizar ello, es decir, que internamente en mi form o codigo de delphi indicar la ruta donde guardara el archivo y ademas que lo guarde en dicha ruta.

o en mi project que estoy haciendo la descarga del archivo es de este modo:



Ahora es este mi problema en si, como hago que en mi mismo project como dije anteriormente la descarga sea atuomatica a una direccion dada???
Responder Con Cita
  #2  
Antiguo 11-08-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: Jul 2004
Ubicación: Barcelona - España
Posts: 15.633
Poder: 10
Neftali [Germán.Estévez] Tiene un aura espectacularNeftali [Germán.Estévez] Tiene un aura espectacular
¿Puedes poner el código que estás utilizando para descargar el fichero?

No se si estás utilizando las funciones de la unit URLMon; Si no es así deberías echarle un vistazo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 11-08-2008
c0lo c0lo is offline
Miembro
 
Registrado: Aug 2008
Posts: 18
Poder: 0
c0lo Va por buen camino
No se trata de un enlace directo para descargar, es similar al sistema de Planet-Source Code, el cual para descargar los ejemplos te genera un codigo aleatorio y debes tener cuenta para mantener continuo dicha descarga.

No se si me dejo explicar bien, es decir, es una pagina en la cual se debe introducir el codigo de seguridad para descargar, pero ello ya lo tengo resuelto el problema es cuando aparece la ventana de descarga la direccion del archivo a guardar en la PC or hd y ocultar dicha descarga.
Responder Con Cita
  #4  
Antiguo 11-08-2008
JXJ JXJ is offline
Miembro
 
Registrado: Apr 2005
Posts: 2.473
Poder: 16
JXJ Va por buen camino
con las indy y usando el componente

tidhttp

revisa la opcion de habilitar redireccionamiento.
y las que sean de http response.
por que en la respuesta es donde se obtiene la url definitiva done esta el archivo

me refiero a esto

url aleatoria

www.ziddu.com/donwloads/23221321dodias=?/

url del servidor.
www.ziddu.com/files/elarchivo.zip
Responder Con Cita
  #5  
Antiguo 11-08-2008
c0lo c0lo is offline
Miembro
 
Registrado: Aug 2008
Posts: 18
Poder: 0
c0lo Va por buen camino
No tendras algun ejemplo que me pueda servir?
Responder Con Cita
  #6  
Antiguo 11-08-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: May 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.123
Poder: 13
felipe88 Va por buen camino
...si no estoy fuera de foco...



Depronto este codigo te sirva.

Código Delphi [-]
/*Añadiendo a nuestro formulario la librería WinINet se pueden descargar archivos por HTTP con la siguiente función:*/

function DescargarArchivo( sURL, sArchivoLocal: String ): boolean;
const BufferSize = 1024;
var
  hSession, hURL: HInternet;
  Buffer: array[1..BufferSize] of Byte;
  LongitudBuffer: DWORD;
  F: File;
  sMiPrograma: String;
begin
  sMiPrograma := ExtractFileName( Application.ExeName );
  hSession := InternetOpen( PChar( sMiPrograma ), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0 );

  try
    hURL := InternetOpenURL( hSession, PChar( sURL ), nil, 0, 0, 0 );

    try
      AssignFile( F, sArchivoLocal );
      Rewrite( F, 1 );

      repeat
        InternetReadFile( hURL, @Buffer, SizeOf( Buffer ), LongitudBuffer );
        BlockWrite( F, Buffer, LongitudBuffer );
      until LongitudBuffer = 0;

      CloseFile( F );
      Result := True;
    finally
      InternetCloseHandle( hURL );
    end
  finally
    InternetCloseHandle( hSession );
  end
end;

/*El primer parámetro es la URL completa del archivo a descargar y el
segundo la ruta y nombre del archivo donde se va a guardar en nuestro disco duro. 
Un ejemplo de llamada a la función sería:*/

DescargarArchivo( 'http:\\miweb.com\imagen.jpg', 'C:\Mis documentos\imagen.jpg' );
__________________
Web
Responder Con Cita
  #7  
Antiguo 12-08-2008
c0lo c0lo is offline
Miembro
 
Registrado: Aug 2008
Posts: 18
Poder: 0
c0lo Va por buen camino
Yo toy usando algo similar:

Código:
function GetInetFile(const fileURL, FileName: String): boolean;
const BufferSize = 1024;
var
  hSession, hURL: HInternet;
  Buffer: array[1..BufferSize] of Byte;
  BufferLen: DWORD;
  f: File;
  sAppName: string;
begin
Result:=False;
sAppName := ExtractFileName(Application.ExeName);
hSession := InternetOpen(PChar(sAppName),
                INTERNET_OPEN_TYPE_PRECONFIG,
               nil, nil, 0);
try
  hURL := InternetOpenURL(hSession,
            PChar(fileURL),
            nil,0,0,0);
  try
   AssignFile(f, FileName); 
   Rewrite(f,1); 
   repeat
    InternetReadFile(hURL, @Buffer, 
                     SizeOf(Buffer), BufferLen);
    BlockWrite(f, Buffer, BufferLen) 
   until BufferLen = 0;
   CloseFile(f); 
   Result:=True;
  finally 
   InternetCloseHandle(hURL)
  end 
finally
  InternetCloseHandle(hSession) 
end
end;
Gracias, pero ahora tengo otro inconveniente cuando me muestra el cuadro de dialogo como lo cierro sin cerrar el proceso, que lo genera...
Responder Con Cita
  #8  
Antiguo 24-09-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: Dec 2004
Ubicación: Alcobendas, Madrid, España
Posts: 12.617
Poder: 27
dec Va camino a la famadec Va camino a la fama
Hola,

Pero, se supone que con el código que utilizas no debería aparecer ningún cuadro de diálogo,... ¿no es así?

PD. No dupliques hilos, acabo de cerrar uno que abriste en relación con este: sigue en este, por lo tanto, añadiendo lo que creas oportuno.
__________________
David Esperalta
www.davidesperalta.com
Responder Con Cita
  #9  
Antiguo 25-09-2008
csantos csantos is offline
Registrado
 
Registrado: Jan 2007
Posts: 4
Poder: 0
csantos Va por buen camino
y con la opción de reanudar la descarga?

¿Alguien sabe como se puede descargar un fichero pero desde una posición dada del fichero?.
Es decir, de un fichero de 2048 Bytes, por ejemplo, en una primera pasada se han leido 1000 Bytes y en un segundo intento, comienza la descarga desde el byte 1001.
Algo similar a lo que hacen los gestores de descarga.

Gracias.
Responder Con Cita
  #10  
Antiguo 25-09-2008
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: May 2005
Posts: 1.340
Poder: 15
MAXIUM Va por buen camino
Lo que necesitas esta aquí www.lawebdejm.com (cuando se restaure la página...)
En todo caso, al final de esta otra página hay un mirror http://articulos.conclase.net

Aquí el ejemplo completo http://www.divshare.com/download/5449757-6f4
Responder Con Cita
  #11  
Antiguo 14-05-2016
koihl koihl is offline
Registrado
 
Registrado: Mar 2011
Posts: 1
Poder: 0
koihl Va por buen camino
Talking Descargar un archivo de internet

hola que tal!. Yo tengo el mismo problema pero a diferencia de que sea un link directo como w w w . clubdelphi .com/images /clubdelphi. jpg la pagina donde quiero descargar esos archivos ejecuta un script por ejemplo:
javascript:ObtenerArchivo('1177995.0', '5.0', '2016.0','RespuestaImss','6438768.0');

que al parecer es una funcion dentro de la pagina web y el archivo se crea al momento de dar click en el enlace, para todo esto es requerido que inicie sesion; usuario y contraseña y vaya precisamente a esa pagina que contiene la funcion. Mi pregunta es si se puede interceptar el archivo creado y descargarlo sin que me aparesca el cuadro de dialogo guardar en, dandole indicaciones para guardarlo en mi HD.

si no se pudiera dar la indicacion de guardarlo en algun lugar especifico no importa ya seria cuestion de yo crear algun procedimiento para redireccionarlos.

ojala alguien tenga una respuesta para ello ya que he estado trabajando en el proyecto y esta es la parte final... estoy angustiado.

Muchas gracias por su atencion.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Descargar fichero 25 Mb desde internet fmatias Internet 4 06-07-2007 17:43:59
descargar archivo desde php gulder PHP 2 07-06-2007 08:28:26
Descargar archivo con redirección voci Internet 4 09-04-2007 14:22:27
Descargar imágenes de internet via http. alfredosg19 Internet 2 08-04-2005 13:02:27
Problemas al descargar un archivo Mauro® Internet 2 23-10-2003 22:21:28


La franja horaria es GMT +2. Ahora son las 22:49:05.


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