Einzelnen Beitrag anzeigen

Wheelie

Registriert seit: 21. Okt 2003
Ort: Dresden
177 Beiträge
 
#4

Re: Dateigröße von Datei auf Server ermitteln

  Alt 6. Nov 2004, 22:22
kommt schon, einer weiß es doch bestimmt. hab nicht den blassesten schimmer wie ich die dateigröße ermitteln kann. bezüglich dem login-fehler in meinem vorherigen beitrag habe ich (auch hier in der dp) gelesen, dass der server die basic authentification nicht unterstützt.

die folgende funktion benutze ich, um eine datei herunterzuladen:
Delphi-Quellcode:
function GetFileFromInet(const fileURL, AFileNameToSave: String): Boolean;
Const
  BufferSize = 1024;
Var
  sAppName: String;
  hSession, hURL: hInternet;
  buffer: Array[1..BufferSize] Of Byte;
  bufferLen: DWord;
  mem: TMemoryStream;
Begin
  Result := False;
  sAppName := ExtractFileName(Application.ExeName);
  hSession := InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG, Nil, Nil, 0);
  If ( hSession <> Nil ) Then
  Begin
    Try
      hURL := InternetOpenURL(hSession, PChar(fileURL), Nil, 0, INTERNET_FLAG_RELOAD, 0);
      If ( hURL <> Nil ) Then
      Begin
        Try
          mem := TMemoryStream.Create;
          Repeat // siehe unten
            BufferLen := 0;
            InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
            mem.Write(buffer, bufferlen);
          Until bufferLen = 0;
          mem.SaveToFile(AFileNameToSave);
          mem.Free;
          Result := True;
        Finally
          InternetCloseHandle(hURL);
        End;
      End;
    Finally
      InternetCloseHandle(hSession);
    End;
  End;
End;
in der gekennzeichneten schleife möchte ich den aktuellen fortschritt berechnen und dazu benötige ich eben die dateigröße der datei auf dem server.
  Mit Zitat antworten Zitat