Datei per Winsock uploaden

  • VB6

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Gast.

    Datei per Winsock uploaden

    Hallo erstmal,

    also ich möchte mit dem Winsock Steuerelement eine Datei auf einen FTP Server hochladen, allerdings will das bei mir eifach nicht funktionieren, bein Anmeldes des mit dem Benutzernamen und Passwort kommt immer ein Fehler.

    Hier ist ein Ausschnitt von dem Quellcode (PW verschlüsselt):


    With Winsock
    .Close
    .Connect "ftp://ftp2.kontent.de", 21

    .SendData "USER itaweb.de"
    .SendData "PASS **********"
    .SendData "CWD www/upload"
    .SendData "STOR " & strDatei
    End With


    also bei ".SendData "USER itaweb.de"" kommt immer ein Laufzeitfehler, kann mir mal einer sagen wieso?

    PS: Ich wollte das ja eigentlich mit dem Inet Steuerelement machen, aber da geht irgendwie garnix wenn ich für den Dateinamen ne Variable einsetze...

    MfG Xander
    Hast du die Verbindungsart auch richtig eingestellt (möglich sind TCP und UDP)?

    Oder versuch mal nach dem "Connect" ein "DoEvents".

    Eventuell musst du auch warten, bis die Verbindung besteht, dies kann ja eventuell dauern.

    Falls das alles nicht hilft, wie heisst denn die Fehlermeldung?


    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Die Verbindung ist natürlich auf TCP eingestellt.
    Ich hab auch schon daran gedacht das er eine gewisse Zeit zum Verbinden braucht, dann hab ich mal 5 Sekunden Wartezeit eingebaut (das müsste ja mehr als genug sein, bei meinem Inet Steuerelement hatte ich nur 1-2 Sek. und das läuft so super).
    DoEvents hat auch nichts geändert, ich schreib mal den Fehler ab:

    Laufzeitfehler 40006:
    Falsches Protokoll oder falscher Verbindungszustand für die angeforderte Transaktion oder Anforderung.

    Das Protokoll müsste doch eigentlich richtig sein, ich hab auch schon versucht über .Connect noch ".Protocol = sckTCPProtocol" einzufügen, aber das hat ja auch nix geändert.
    Deswegen weiß ich ja auch nicht weiter, ich versteh nicht warum er sich nicht Anmelden will, oder gibt es vielleicht noch eine andere Möglichkeit eine Datei an enen FTP-Server zu übertragen?
    Ja, weil man aus irgendeinem Grund nicht auf die Seite zugreifen kann ! (jedenfalls nicht ohne das ein Fehler in IE auftritt)

    Du musst die richtigen zugangsdaten besitzen BEVOR du auf die Seite zugreifen kannst, das geht mit Winsock nich, dazu musst du das Internet Transfer Steuerelement benutzen !
    Und dann lädst du Dateien immer mit Execute hoch ...



    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Unknown“ ()

    Ja, aber wie schon gesagt geht das mit dem Inet Steuerelement nicht das ich für den Dateinamen ne Variable einsetze.. dann passiert einfach garnix.

    With Inet
    .AccessType = icDirect
    .Protocol = icFTP
    .RemotePort = 21
    .RequestTimeout = 16

    .URL = "ftp://ftp2.kontent.de"
    .UserName = "itaweb.de"
    .Password = "*********"

    strDateiName = Right$(CommonDialog.FileName, Len(CommonDialog.FileTitle))
    strPUT = """PUT " & "C:\Upload.tmp " & "www/upload/" & strDateiName & """"
    Debug.Print strPUT

    .Execute , strPUT
    End With

    Hier so hab ich das schon versucht aber warum auch immer es geht nicht..