vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB.NET - Fortgeschrittene
Webserver - File Download 
Autor: Tim1984
Datum: 04.03.15 13:18

Hallo liebes Forum,

ich versuche einen kleinen Mini-Webserver zu programmieren, der Dateien (z.B. zip- und exe-Dateien) bereitstellt. Der Server läuft auch soweit und wenn ich die URL im Browser angebe, werden die Dateien auch heruntergeladen. Leider sind diese Dateien dann Fehlerhaft. Irgendwo wird eine falsche Information an den Browser übergeben und ich finde diese nicht Würde mich über Eure Hilfe sehr freuen!

Der HTTP Response-Code sieht wie folgt aus:

' Send HTTP Response
    Private Sub sendHTMLResponse(ByVal httpRequest As String)
        Try
            ' Get the file content of HTTP Request 
            Dim streamReader As StreamReader = New StreamReader(httpRequest)
            Dim strBuff As String = streamReader.ReadToEnd()
            streamReader.Close()
            streamReader = Nothing
 
            ' The content Length of HTTP Request
            Dim respByte() As Byte = Encoding.ASCII.GetBytes(strBuff)
 
            ' Set HTML Header
            Dim htmlHeader As String = _
                "HTTP/1.0 200 OK" & ControlChars.CrLf & _
                "Server: WebServer 1.0" & ControlChars.CrLf & _
                "Content-Length: " & respByte.Length & ControlChars.CrLf & _
                "Content-Type: " & getContentType(httpRequest) & _
                ControlChars.CrLf & ControlChars.CrLf
 
            ' The content Length of HTML Header
            Dim headerByte() As Byte = Encoding.ASCII.GetBytes(htmlHeader)
 
            Console.WriteLine("HTML Header: " & ControlChars.CrLf & htmlHeader)
 
            ' Send HTML Header back to Web Browser
            clientSocket.Send(headerByte, 0, headerByte.Length, _
              SocketFlags.None)
 
            ' Send HTML Content back to Web Browser
            clientSocket.Send(respByte, 0, respByte.Length, SocketFlags.None)
 
            ' Close HTTP Socket connection
            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
 
    ' Get Content Type
    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"
        ElseIf (httpRequest.EndsWith("csv")) Then
            Return "application/csv"
        ElseIf (httpRequest.EndsWith("exe")) Then
            Return "application/exe"
        ElseIf (httpRequest.EndsWith("dll")) Then
            Return "application/dll"
        ElseIf (httpRequest.EndsWith("zip")) Then
            Return "application/zip"
        Else
            Return "text/plain"
        End If
    End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Webserver - File Download1.232Tim198404.03.15 13:18
Re: Webserver - File Download624sv0001004.03.15 14:48
Re: Webserver - File Download651Tim198404.03.15 18:39

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-2024 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