Hi,
Wenn ich etwas downloaden will, kommt in der Konsole einen Fehler und
die Datei ist dann beschädigt, da diese 0KB gross ist.
Hier der Stück Code, den es betrifft:
Hier ein Print von der Konsole (siehe Anhang)
Laut Konsole ist der Fehler bei "Dim streanReader as StreamReader(httpRequest, Encoding.Default)
Könnt ihr mir weiterhelfen? wäre ganz nett
mfg
PS: Der vorherige Fehler hat sich geregelt.
Wenn ich etwas downloaden will, kommt in der Konsole einen Fehler und
die Datei ist dann beschädigt, da diese 0KB gross ist.
Hier der Stück Code, den es betrifft:
VB.NET-Quellcode
- ' HTTP-Antwort senden
- Private Sub sendHTMLResponse(ByVal httpRequest As String)
- Try
- ' Datei(en) senden
- Dim streamReader As StreamReader = New StreamReader(httpRequest, Encoding.Default)
- Dim strBuff As String = streamReader.ReadToEnd()
- streamReader.Close()
- streamReader = Nothing
- ' Grösse der Datei
- Dim respByte() As Byte = Encoding.Default.GetBytes(strBuff)
- ' Header einstellen
- Dim htmlHeader As String = _
- "HTTP/1.0 200 OK" & ControlChars.CrLf & _
- "Server: WebServer 0.6 [beta]" & ControlChars.CrLf & _
- "Content-Length: " & respByte.Length & ControlChars.CrLf & _
- "Content-Type: " & getContentType(httpRequest) & _
- ControlChars.CrLf & ControlChars.CrLf
- ' Grösse einstellen
- Dim headerByte() As Byte = Encoding.ASCII.GetBytes(htmlHeader)
- Console.WriteLine("HTML Header: " & ControlChars.CrLf & htmlHeader)
- ' Zurück zum client senden (HTML)
- clientSocket.Send(headerByte, 0, headerByte.Length, SocketFlags.None)
- ' Zurück zum Client senden (anhänge, bilder...)
- clientSocket.Send(respByte, 0, respByte.Length, SocketFlags.None)
- ' Verbindung beenden
- clientSocket.Shutdown(SocketShutdown.Both)
- clientSocket.Close()
- Catch ex As Exception
- Console.WriteLine(ex.StackTrace.ToString())
- If clientSocket.Connected Then
- clientSocket.Close()
- End If
- End Try
- End Sub
- ' Datei-Typen
- Private Function getContentType(ByVal httpRequest As String) As String
- If (httpRequest.EndsWith("html")) Then
- Return "text/html"
- ElseIf (httpRequest.EndsWith("htm")) Then
- Return "text/html"
- ElseIf (httpRequest.EndsWith("txt")) Then
- Return "text/plain"
- ElseIf (httpRequest.EndsWith("gif")) Then
- Return "image/gif"
- ElseIf (httpRequest.EndsWith("jpg")) Then
- Return "image/jpeg"
- ElseIf (httpRequest.EndsWith("jpeg")) Then
- Return "image/jpeg"
- ElseIf (httpRequest.EndsWith("pdf")) Then
- Return "application/pdf"
- ElseIf (httpRequest.EndsWith("pdf")) Then
- Return "application/pdf"
- ElseIf (httpRequest.EndsWith("doc")) Then
- Return "application/msword"
- ElseIf (httpRequest.EndsWith("xls")) Then
- Return "application/vnd.ms-excel"
- ElseIf (httpRequest.EndsWith("ppt")) Then
- Return "application/vnd.ms-powerpoint"
- Else
- Return "text/plain"
- End If
- End Function
Hier ein Print von der Konsole (siehe Anhang)
Laut Konsole ist der Fehler bei "Dim streanReader as StreamReader(httpRequest, Encoding.Default)
Könnt ihr mir weiterhelfen? wäre ganz nett
mfg
PS: Der vorherige Fehler hat sich geregelt.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „gfcwfzkm“ ()