ERLEDIGT
JA
JA
ANTWORTEN
7
7
ZUGRIFFE
15871
15871
EMPFEHLEN
-
28.03.07 10:29 #1
- Registriert seit
- Feb 2004
- Beiträge
- 47
Hallo,
ich bin auf dem Gebiet vb.net noch etwas fremd. Ich habe mir ein kleines Programm gebaut, dass eine txt Datei auf einen festen FTP Server hochladen soll.
Der FTP Server ist mit Nutzername und Passwort geschützt.
Ich habe einige Lösungen im Netz gefunden, jedoch funktioniert bei mir keine. Deshalb poste ich hier mal den Code und hoffe auf eure kompetente Hilfe.
Die Serveradresse und die Zugangsdaten habe ich verändert. Ich bekomme die Meldung:Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Public Sub connectFTP() Dim status As Boolean = False Dim myURI As String = "ftp://999.999.999.999" Dim requestStream As Stream = Nothing Dim fileStream As FileStream = Nothing Dim uploadResponse As FtpWebResponse = Nothing Dim ftpwr As FtpWebRequest = FtpWebRequest.Create(myURI) ftpwr.Method = WebRequestMethods.Ftp.UploadFile ftpwr.Credentials = New NetworkCredential("nutzer", "passwort") ftpwr.Proxy = Nothing requestStream = ftpwr.GetRequestStream() fileStream = File.Open("C:\output.txt", FileMode.Open) Dim buffer(1024) As Byte Dim bytesRead As Integer While True bytesRead = fileStream.Read(buffer, 0, buffer.Length) If bytesRead = 0 Then Exit While End If End While requestStream.Close() uploadResponse = ftpwr.GetResponse() End Sub
"Der angeforderte URI ist für diesen FTP-Befehl ungültig."
Ist wohl ein Denkfehler von mir, komm aber nicht drauf.
MfG Frank
-
Also so sollte das durchaus funktionieren:
Code :1 2 3
Dim req As WebRequest = FtpWebRequest.Create("ftp://01.test.com") req.Credentials = New NetworkCredential("username", "password") Dim requestStream As Stream = req.GetRequestStream()
Entsprechend der Fehlermeldung passt deine URI nicht, sprich die Adresse zu der du dich verbinden willst.
Des weiteren nutzt du den RequestStream nicht. Du schreibst da keine Daten hinein
-
29.03.07 08:05 #3
- Registriert seit
- Feb 2004
- Beiträge
- 47
Hi,
danke für deine Antwort, ich bin jedoch noch nicht weiter gekommen. Ich habe mir nochmals den Code einer Beispielklasse von Microsoft vorgenommen und mir einen FTP lokal auf meinem Rechner eingrichtet, es geht trotzdem nicht.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
Public Sub Upload(ByVal fileName As String, ByVal uploadUrl As String) Dim requestStream As Stream = Nothing Dim fileStream As FileStream = Nothing Dim uploadResponse As FtpWebResponse = Nothing Try Dim uploadRequest As FtpWebRequest = WebRequest.Create(uploadUrl) uploadRequest.Method = WebRequestMethods.Ftp.UploadFile uploadRequest.Credentials = New NetworkCredential("test", "test") ' UploadFile is not supported through an Http proxy ' so we disable the proxy for this request. uploadRequest.Proxy = Nothing requestStream = uploadRequest.GetRequestStream() fileStream = File.Open(fileName, FileMode.Open) Dim buffer(1024) As Byte Dim bytesRead As Integer While True bytesRead = fileStream.Read(buffer, 0, buffer.Length) If bytesRead = 0 Then Exit While End If requestStream.Write(buffer, 0, bytesRead) End While ' The request stream must be closed before getting the response. requestStream.Close() uploadResponse = uploadRequest.GetResponse() Console.WriteLine("Upload complete.") Catch ex As UriFormatException Console.WriteLine(ex.Message) Catch ex As IOException Console.WriteLine(ex.Message) Catch ex As WebException Console.WriteLine(ex.Message) Finally If uploadResponse IsNot Nothing Then uploadResponse.Close() End If If fileStream IsNot Nothing Then fileStream.Close() End If If requestStream IsNot Nothing Then requestStream.Close() End If End Try End Sub
Fehler:
Der angeforderte URI ist für diesen FTP-Befehl ungültig.
System.Net.FtpWebResponse
[...]
Eine Ausnahme (erste Chance) des Typs "System.Net.WebException" ist in System.dll aufgetreten.
Funktionsaufruf: ftpVerbindung.Upload("C:\output.txt", "ftp://127.0.0.1"). Den User Test mit dem selbigen Passwort gibt es auf meinem FTP und er darf in seinem Verzeichnis auch schreiben.
Der FTP gibt mir folgende Meldung:
Code :1 2 3 4 5
(000006) 29.03.2007 08:05:24 - (not logged in) (127.0.0.1)> Connected, sending welcome message... (000006) 29.03.2007 08:05:24 - (not logged in) (127.0.0.1)> 220-FileZilla Server version 0.9.20 beta (000006) 29.03.2007 08:05:24 - (not logged in) (127.0.0.1)> 220-written by Tim Kosse (Tim.Kosse@gmx.de) (000006) 29.03.2007 08:05:24 - (not logged in) (127.0.0.1)> 220 Please visit http://sourceforge.net/projects/filezilla/ (000006) 29.03.2007 08:05:24 - (not logged in) (127.0.0.1)> disconnected.
Geändert von bleifresser (29.03.07 um 08:11 Uhr)
-
29.03.07 08:42 #4
- Registriert seit
- Feb 2004
- Beiträge
- 47
Erfolg

Ich meinen Fehler gefund, ich hatte den Dateinamen auf dem Server nicht mit angegeben.
Nun habe ich folgende URI: ftp://test:test@127.0.0.1/test.txt.
-
-
Sieh dir die URI an, sehr wahrscheinlich ist diese nicht korrekt.
-
hmm...
welches Format muss die URL den haben..?
-
Danke,
die Seiten haben mir geholfen
Gruß
Ähnliche Themen
-
Dateiupload
Von Matthias Reitinger im Forum vB-TestforumAntworten: 2Letzter Beitrag: 23.06.06, 11:09 -
Dateiupload mit PHP
Von Grunge im Forum PHPAntworten: 14Letzter Beitrag: 30.04.06, 15:32 -
Dateiupload mit GET?
Von SXrunner im Forum PHPAntworten: 2Letzter Beitrag: 09.03.05, 18:16 -
Dateiupload
Von Seven Secrets im Forum PHPAntworten: 7Letzter Beitrag: 03.10.03, 15:06 -
VB5 Dateiupload an PHP
Von sonline im Forum Visual Basic 6.0Antworten: 4Letzter Beitrag: 22.08.03, 17:30





Zitieren
Login




