vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 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 - Ein- und Umsteiger
FTP upload 
Autor: Marty**
Datum: 29.07.17 17:19

Hallo,

mit folgenden Code bekomme ich immer die Meldung:
Remoteserver hat einen Fehler zurückgegeben 553

Hier mal der Code:
Public Class Form1
 
    Public Sub UploadFile(ByVal _FileName As String, ByVal _UploadPath As _
      String, ByVal _FTPUser As String, ByVal _FTPPass As String)
        Dim _FileInfo As New System.IO.FileInfo(_FileName)
 
        ' Create FtpWebRequest object from the Uri provided
        Dim _FtpWebRequest As System.Net.FtpWebRequest = CType( _
          System.Net.FtpWebRequest.Create(New Uri(_UploadPath)), _
          System.Net.FtpWebRequest)
 
        ' Provide the WebPermission Credintials
        _FtpWebRequest.Credentials = New System.Net.NetworkCredential(_FTPUser, _
          _FTPPass)
 
        ' By default KeepAlive is true, where the control connection is not 
        ' closed
        ' after a command is executed.
        _FtpWebRequest.KeepAlive = False
 
        ' set timeout for 20 seconds
        _FtpWebRequest.Timeout = 20000
 
        ' Specify the command to be executed.
        _FtpWebRequest.Method = System.Net.WebRequestMethods.Ftp.UploadFile
 
        ' Specify the data transfer type.
        _FtpWebRequest.UseBinary = True
 
        ' Notify the server about the size of the uploaded file
        _FtpWebRequest.ContentLength = _FileInfo.Length
 
        ' The buffer size is set to 2kb
        Dim buffLength As Integer = 2048
        Dim buff(buffLength - 1) As Byte
 
        ' Opens a file stream (System.IO.FileStream) to read the file to be 
        ' uploaded
        Dim _FileStream As System.IO.FileStream = _FileInfo.OpenRead()
 
        Try
            ' Stream to which the file to be upload is written
            Dim _Stream As System.IO.Stream = _FtpWebRequest.GetRequestStream()
 
            ' Read from the file stream 2kb at a time
            Dim contentLen As Integer = _FileStream.Read(buff, 0, buffLength)
 
            ' Till Stream content ends
            Do While contentLen <> 0
                ' Write Content from the file stream to the FTP Upload Stream
                _Stream.Write(buff, 0, contentLen)
                contentLen = _FileStream.Read(buff, 0, buffLength)
            Loop
 
            ' Close the file stream and the Request Stream
            _Stream.Close()
            _Stream.Dispose()
            _FileStream.Close()
            _FileStream.Dispose()
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Upload Error", MessageBoxButtons.OK, _
              MessageBoxIcon.Error)
        End Try
    End Sub
 
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles _
      Button1.Click
        UploadFile(OpenFileDialog1.FileName, "ftp://xxx.ddns.net/FTP/" + _
        OpenFileDialog1.SafeFileName, "User", "Passwort")
    End Sub
 
 
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles _
      Button2.Click
        If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.Cancel Then _
        Exit Sub
        'Label1.Text = OpenFileDialog1.FileName
        Label1.Text = OpenFileDialog1.SafeFileName
        Button1.Visible = True
        Label2.Text = "ftp://xxx.ddns.net/FTP/" + OpenFileDialog1.SafeFileName
    End Sub
 
 
End Class
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: FTP upload 
Autor: effeff
Datum: 29.07.17 18:22

Die Fehlernummer sagt aus, dass der Dateiname nicht erlaubt sei...

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: FTP upload 
Autor: Marty**
Datum: 29.07.17 20:31

ja, aber warum nicht ?
Ich wähle immer eine 1.txt aus.
Was soll da nicht stimmen ?
In Label2 wird ja eh der Pfad angezeigt. Ich sehe nichts
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: FTP upload 
Autor: sv00010
Datum: 29.07.17 22:50

Marty** schrieb:
Zitat:

ja, aber warum nicht ?
Ich wähle immer eine 1.txt aus.
Was soll da nicht stimmen ?
In Label2 wird ja eh der Pfad angezeigt. Ich sehe nichts

Das wird es wohl sein. Versuche es mal mit einem Buchstaben am Anfang.
Die Dateinamensbezeichnungen sind bei FTP eingeschränkter als im normalen Windows-Dateisystem.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: FTP upload 
Autor: effeff
Datum: 30.07.17 11:10

Also... eigentlich eher nicht... also, das mit der Zahl und dem Buchstaben.

Martys Code funktioniert bei mir hervorragend - sogar mit einer Datei namens 1.txt. Und ich bekomme den Fehler nicht angezeigt.

Die Frage an Marty wäre nun: Den von Dir genannten Pfad gibt es auf dem Server auch genauso? Er ist vorhanden? Und Du hast auf Groß- und Kleinschreibung im Pfadnamen geachtet, weil dieses im Falles eines Linux-/Unix-FTP-Servers key sensitive ist?

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: FTP upload 
Autor: Ingo Schick
Datum: 13.11.17 12:46

Hallo,

Ich verwende bei FTP am liebsten die DLL von WinSCP. Die einfach genial. Super einfache Bedienung.

Grüße
Ingo

Viele Grüße
Ingo Schick

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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