Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Delphi - Download da link
Forum - Delphi - Download da link

Avatar
sbufano (Normal User)
Newbie


Messaggi: 1
Iscritto: 22/10/2013

Segnala al moderatore
Postato alle 14:53
Martedì, 22/10/2013
Ciao a tutti, innanzitutto.
Uso da tempo componenti e funzioni per download/upload di files.
Ora però ho un problema nuovo, e non ho trovato ancora il modo di risolverlo.
Ho necessità, in un mio gestionale, di effettuare il download da un link, e fin qui niente di nuovo. Il problema è che non so il nome del file (cambia sempre). Inoltre aprendo il link in un browser viene presentata la maschera che chiede se si vuole aprire o salvare il file.
Questo é un esempio: http://www.pixmania-pro.com/pixprofeeds/29f991db06ebb99654 ...
Al momento, ho tamponato lanciando da programma (con una ShellExecute) il link in un browser, ma é una "pezza". Vorrei gestire tutto da Delphi. Qualche idea?

Ultima modifica effettuata da sbufano il 22/10/2013 alle 14:54
PM Quote
Avatar
systemgvp (Normal User)
Expert


Messaggi: 296
Iscritto: 14/04/2008

Segnala al moderatore
Postato alle 21:41
Martedì, 22/10/2013
se il nome cambia sempre non credo che sia semplice, altrimenti io uso:

Codice sorgente - presumibilmente Delphi

  1. function DownloadFile(SourceFile, DestFile: string): Boolean;
  2. begin
  3.   try
  4.     Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
  5.   except
  6.     Result := False;
  7.   end;
  8. end;
  9.  
  10. procedure TForm1.Button1Click(Sender: TObject);
  11. const
  12.   SourceFile = 'http://www.sito.org/home/filedascaricare.zip';
  13.   DestFile = 'C:\filedascaricato.zip';
  14. begin
  15.   if DownloadFile(SourceFile, DestFile) then
  16.   begin
  17.     ShowMessage('Download succesful!');
  18.     ShellExecute(Application.Handle, PChar('open'), PChar(DestFile), PChar(''), nil, SW_NORMAL)
  19.   end
  20.   else
  21.     ShowMessage('Error while downloading ' + SourceFile)
  22. end;
  23.  
  24. //con le librerie
  25. uses ShellApi, Urlmon;



perché ti da il tempo di scaricare tutto il file prima di aprirlo

PM Quote