Oppure

Loading
22/10/13 12:53
sbufano
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: pixmania-pro.com/pixprofeeds/29f991db06ebb99654243db579cea77d/…
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 22/10/13 12:54
aaa
22/10/13 19:41
systemgvp
se il nome cambia sempre non credo che sia semplice, altrimenti io uso:

function DownloadFile(SourceFile, DestFile: string): Boolean;
begin
  try
    Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
  except
    Result := False;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
const
  SourceFile = 'http://www.sito.org/home/filedascaricare.zip';
  DestFile = 'C:\filedascaricato.zip';
begin
  if DownloadFile(SourceFile, DestFile) then
  begin
    ShowMessage('Download succesful!');
    ShellExecute(Application.Handle, PChar('open'), PChar(DestFile), PChar(''), nil, SW_NORMAL)
  end
  else
    ShowMessage('Error while downloading ' + SourceFile)
end;

//con le librerie
uses ShellApi, Urlmon;


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