vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Vor Download (über HTTP) Existenz der Datei überprüfen ? 
Autor: ModeratorDieter (Moderator)
Datum: 26.04.03 19:45

Hi,

in diesem Fall steht im Header (Winsock_DataArival) u.a. Moves permanenty. Dieses gilt es jetzt abzufragen.

Am besten man stellt hierfür ein neues Ereignis zur Verfügung. Nennen wir es NotFound:
Public Event NotFound()
' Daten werden empfangen
Private Sub mSockCtrl_DataArrival(ByVal bytesTotal As Long)
  On Error Resume Next
 
  Static lngContentLength As Long
 
  Dim strData As String
  Dim strHttpHeader As String
  Dim F As Integer
  Dim lPos As Long
 
  ' Daten empfangen
  mSockCtrl.GetData strData
 
  ' Prüfen, ob HTTP-Header enthalten
  ' wenn ja: auswerten und entfernen
  If Not bHeaderSend And Left$(strData, 8) = "HTTP/1.1" Then
    strHttpHeader = Left$(strData, InStr(1, strData, _
      vbCrLf & vbCrLf) + 3)
 
    ' Datei nicht vorhanden  ?
    If InStr(1, strHttpHeader, "moved permanently", vbTextCompare) > 0 Then
      ' Datei existsiert nicht mehr!!!
      RaiseEvent NotFound
      mSockCtrl.Close
    Else
 
      ' Dateigröße ermitteln
      lPos = InStr(strHttpHeader, "Content-Length: ")
      If lPos > 0 Then
        lngContentLength = Val(Mid$(strHttpHeader, lPos + 15, _
          InStr(Mid$(strHttpHeader, lPos), vbCrLf) - 1))
      End If
 
      ' Header entfernen
      strData = Mid$(strData, Len(strHttpHeader) + 1)
      bHeaderSend = True
    End If
 
    If Not bHeaderSend Then lngContentLength = 0
 
    ' Daten in Datei speichern
    F = FreeFile
    Open strLocalFilename For Append As #F
    Print #F, strData;
    Close #F
 
    ' Fortschritt
    lngFileSize = lngFileSize + Len(strData)
    RaiseEvent Progress(lngFileSize, lngContentLength)
  End If
End Sub

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Vor Download (über HTTP) Existenz der Datei überprüfen ?88tyr12326.04.03 00:44
Re: Vor Download (über HTTP) Existenz der Datei überprüfen ?281ModeratorDieter26.04.03 19:45
Re: Vor Download (über HTTP) Existenz der Datei überprüfen ?62tyr12326.04.03 22:09

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel