Avatar billede safl Nybegynder
18. september 2005 - 22:49 Der er 1 kommentar og
1 løsning

UrlDownloadToFile cache problem

Hello!

Har denne funktion til at downloade filer med:

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

Problemet er at anden gang man downloader en fil, så ligger den i IE cache og man får derfor ikke den nyeste version.
Derfor giver jeg 200 point til den der har en download funktion der ignorerer cache.

på forhånd tak!

Simon
Avatar billede kroning Nybegynder
18. september 2005 - 23:28 #1
Kan du bruge dette til noget:

uses WinInet;

.
.


function DownloadURL_NOCache(const aUrl: string; var s: String): Boolean;
var
  hSession: HINTERNET;
  hService: HINTERNET;
  lpBuffer: array[0..1024 + 1] of Char;
  dwBytesRead: DWORD;
begin
  Result := False;
  s := '';
  // hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0);
  hSession := InternetOpen('MyApp', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  try
    if Assigned(hSession) then
    begin
      hService := InternetOpenUrl(hSession, PChar(aUrl), nil, 0, INTERNET_FLAG_RELOAD, 0);
      if Assigned(hService) then
        try
          while True do
          begin
            dwBytesRead := 1024;
            InternetReadFile(hService, @lpBuffer, 1024, dwBytesRead);
            if dwBytesRead = 0 then break;
            lpBuffer[dwBytesRead] := #0;
            s := s + lpBuffer;
          end;
          Result := True;
        finally
          InternetCloseHandle(hService);
        end;
    end;
  finally
    InternetCloseHandle(hSession);
  end;
end;

//-----------------

procedure TForm1.Button1Click(Sender: TObject);
var
  s: String;
begin
if DownloadURL_NOCache('http://www.swissdelphicenter.ch/', s) then
  ShowMessage(s);
end;
Avatar billede kroning Nybegynder
18. september 2005 - 23:47 #2
En anden mulighed var at bruge Indy´s IdFTP.Get() som kan henter og gemmer en fil på harddisken, den bruger jeg og har aldrig oplevet problemer med cache.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Zealand Business College

Faglig teamleder til IT Drift & Support

Politiets Efterretningstjeneste

Bliv IT-supporter i PET's IT Servicedesk

IT-Universitetet i København

CIO

Allerød Kommune

Digitaliseringschef