Ich muss aus einer VB6 Anwendung sehr goße Dateien (> 300 MB) per POST an einen Webserver senden.
Das Ganze funktioniert hervorragend mit der WinHTTP 5.1 COM-Schnittstelle - solange die Datei nicht allzugroß ist, da die zu sendenen Daten hier via String oder Bytes in einem Rutsch übergeben werden müssen. Bei großen Dateien streikt hier allerdings die VB-Umgebung mit der Fehlermeldung 7 (nicht genügend Speicher).
Kennt jemand eine Möglichkeit per WinHTTP 5.1 große Dateien in kleinere Portionen per POST an einen Webserver zu senden?
(ggf. auch per WinHTTP 5.1 API anstelle der COM-Schnittstelle)
Ich habe bewußt auf WinHTTP zurückgegriffen, da neben dem Senden der Daten per POST noch folgende Voraussetzungen erfüllt werden müssen:
HTTPs
Unterstützung von Proxy
Auszug aus meiner Routine:
Das Ganze funktioniert hervorragend mit der WinHTTP 5.1 COM-Schnittstelle - solange die Datei nicht allzugroß ist, da die zu sendenen Daten hier via String oder Bytes in einem Rutsch übergeben werden müssen. Bei großen Dateien streikt hier allerdings die VB-Umgebung mit der Fehlermeldung 7 (nicht genügend Speicher).
Kennt jemand eine Möglichkeit per WinHTTP 5.1 große Dateien in kleinere Portionen per POST an einen Webserver zu senden?
(ggf. auch per WinHTTP 5.1 API anstelle der COM-Schnittstelle)
Ich habe bewußt auf WinHTTP zurückgegriffen, da neben dem Senden der Daten per POST noch folgende Voraussetzungen erfüllt werden müssen:
HTTPs
Unterstützung von Proxy
Auszug aus meiner Routine:
Visual Basic-Quellcode
- Set WinHttp = New WinHttpRequest
- With WinHttp
- ' Proxy-Server?
- If Len(m_Proxy) > 0 And m_UseProxyServer Then
- .SetProxy HTTPREQUEST_PROXYSETTING_PROXY, m_Proxy
- End If
- .Open "POST", sURL, True
- ' Http-Authentifizierung?
- If Len(UserName) > 0 And Len(UserPwd) > 0 Then
- .SetCredentials UserName, UserPwd, HTTPREQUEST_SETCREDENTIALS_FOR_SERVER
- End If
- ' Proxy-Authentifizierung?
- If (m_UseProxyAuth) And Len(m_ProxyUser) > 0 And Len(m_ProxyPwd) > 0 Then
- .SetCredentials m_ProxyUser, m_ProxyPwd, HTTPREQUEST_SETCREDENTIALS_FOR_PROXY
- End If
- ' Datei auslesen und senden
- F = FreeFile
- Open strLocalFile For Binary As #F
- nSize = LOF(F)
- ReDim vData(nSize - 1)
- Get #F, nSize, vData
- Close #F
- .send vData
- .WaitForResponse
- End With