Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Fragen - Antworten
Autor
Nachricht
noobvb
Newbie
Newbie

Anmeldedatum: 17.07.2009
Beiträge: 1

Https Upload funktioniert nicht
Verfasst am: 17.07.2009, 09:24

Hi Leute,

ich habe das Problem, dass ich eine XMl Datei auf einen Server übertragen soll und das ständig fehl schlägt.

Ich habe mittlerer weile 3 Tage mit Internetrecherche zugebracht und hab nach den gefunden Treffern folgende Codes angefertigt, die eigentlich tun sollten, aber dies nicht tun.

Kennt sich vielleicht in diesem Forum damit aus und kann mir eine Lösung nennen. Habe ich noch Fehler im Code oder seht ihr das Problem auf Seiten des Servers? Ich habe mittlererweile alles ausgeschöpft, was mir so eingefallen ist und bekomme es einfach nicht hin, dabei sollte es diese woche bereits fertig sein. Wäre super, wenn sich jemand von euch den Code anschauen und mir vielleicht einen Tip geben könnte, wo darin der Fehler steckt.


Testcode eins:

Code:

Try
            Dim Path As String
            Dim Adress As New Uri("https://Server")
            Dim FileName As String




            Path = "C:\Debug\testfiles\"
            FileName = "125202-RueckmeldungKontakt.xml"
           
           
             myWebClient.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes("user:pwd")))

             Dim responseArray As Byte() = myWebClient.UploadFile(Adress, "POST", Path & FileName)
           
        Catch webex As WebException
            Dim value As WebExceptionStatus
            value = webex.Status
            MsgBox(value.ToString)
            MsgBox(webex.Message)
         
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

     
    End Sub


Testcode 2:
Code:

Private Sub ExchangeXMLByHttps()
        Try
            Dim fileToUpload As String = "C:\Debug\testfiles\125202-RueckmeldungKontakt.xml" '"c:\temp\transfer me.zip"
            Dim fileLength As Long = My.Computer.FileSystem.GetFileInfo(fileToUpload).Length

            Dim url As String = "https://Server"
            Dim port As String = "443" ' SSL Port

            'Wenn der Port unterstützt wird, wird er an die URL angefügt
            If port <> "" Then

                '
                'Anfügen des Ports an den URI
                Dim u As New Uri(url)

                'Get the host (example: "www.example.com")
                Dim host As String = u.Host

                'Replace the host with the host:port
                url = url.Replace(host, host & ":" & port)

            End If

            url = url.TrimEnd("/"c) & "/" & IO.Path.GetFileName(fileToUpload)

            'Anfrage an Server erzeugen
            Dim request As HttpWebRequest = _
                 DirectCast(System.Net.HttpWebRequest.Create(url), HttpWebRequest)

            'Benutzername und Passwort an request übergeben
            request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes("user:pwd")))
         
            'Übertragungsmethode zum Server
            request.Method = WebRequestMethods.Http.Put


            'Festlegen der Länge des zu übertragenden Files
            request.ContentLength = fileLength


           

           'Anfragen an Server um dessen Dateistream zu bekommen.
            Dim s As IO.Stream = request.GetRequestStream()

            'Das jeweilige File öffnen und Daten einlesen
            Dim fs As New IO.FileStream(fileToUpload, IO.FileMode.Open, _
                                        IO.FileAccess.Read)

            'Puffer erzeugen, innerhalb dem die Bytes des Files gespeichert werden
            Dim byteTransferRate As Integer = 1024
            Dim bytes(byteTransferRate - 1) As Byte
            Dim bytesRead As Integer = 0
            Dim totalBytesRead As Long = 0

            'Daten des Files lesen und an den Stream des Servers anfügen.
            Do
                'Lesen des Files
                bytesRead = fs.Read(bytes, 0, bytes.Length)

                If bytesRead > 0 Then

                    totalBytesRead += bytesRead

                    'In des Stream schreiben
                    s.Write(bytes, 0, bytesRead)

                End If

            Loop While bytesRead > 0

            'Server Stream wieder schließen
            s.Close()
            s.Dispose()
            s = Nothing


            'Datei schließen
            fs.Close()
            fs.Dispose()
            fs = Nothing

            'Erneutes Aufrufen des Servers um den Upload zu bestätigen
            Dim response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)

            'StatusCode der Serverantwort ermitteln
            Dim code As HttpStatusCode = response.StatusCode

            'Rückgabe schließen
            response.Close()
            response = Nothing

            'Überprüfen der Uploads.
            ' Prüfen der Übermittelten Bytes und der Größe des Files
            '
            'Überprüfen, ob File angelegt wurde
            If totalBytesRead = fileLength AndAlso _
                code = HttpStatusCode.Created Then

                MessageBox.Show("The file has uploaded successfully!", "Upload Complete", _
                    MessageBoxButtons.OK, MessageBoxIcon.Information)

            Else

                MessageBox.Show("The file did not upload successfully.", _
                    "Upload Failed", MessageBoxButtons.OK, MessageBoxIcon.Warning)

            End If
        Catch ex As WebException
            MsgBox(ex.Message)
        Catch e As Exception
            MsgBox(e.Message)
        End Try

    End Sub


Kann sich bitte jemand von euch den Code anschauen und mir vielleicht mitteilen, worin da der Fehler stecken könnte? Wenn ich nämlich mal wüsste, dass der Code so eigentlich richtig ist, hätte ich auch schon viel gewonnen.

Hoffe, ihr könnt mir helfen. Confused

Beste Grüße

noobvb
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Fragen - Antworten

Tags: upload, https, request, http

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Wie kann ich mich bei euch anmelden?? 914 20.05.2002, 01:28
Keine neuen Beiträge Das passwort an die E-Mail von mir senden? 609 17.10.2007, 22:18
Keine neuen Beiträge Passwort Generator by sollniss 1344 28.11.2008, 18:03
Keine neuen Beiträge Eine kleine Frage an euch.. 1023 30.09.2007, 09:57
Keine neuen Beiträge TUT zur Passwort abfrage 1084 10.08.2007, 16:06
 


[ Time: 0.2234s ][ Queries: 80 (0.1671s) ][ GZIP on - Debug on ]