FTP Upload funktioniert nicht

  • Hallo zusammen

    Ich probiere derzeit den FTP-Upload eines ZIP-Archives mittels Auto-It. Leider funktioniert das nicht wirklich. Anbei mein bisheriger Code.

    [autoit]


    #include "FTPEx.au3"
    $ftp = _FTP_Open("AutoIT Session")
    $connect = _FTP_Connect($ftp, 'host.com', 'user', 'password');
    _FTP_ProgressUpload($connect, 'C:\test.zip', 'test.zip')
    _FTP_Close($ftp)

    [/autoit]

    Der AutoIT Prozess läuft ca. 5 min und beendet sich nachdem. Auf dem FTP-Server wird jedoch keine Datei erstellt. Die Zugangsdaten sind korrekt, da ich mich beispielsweise mit FileZilla anmelden kann.

    Jemand eine Idee, was ich falsch mache?

    Vielen Dank und Gruss,
    eXpress

  • Hallo ,

    passe einmal dieses Skript (Benutzerdaten, Dateipfade) auf dich an:

    Spoiler anzeigen
    [autoit]

    #AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    #include <FTPEx.au3>
    #include <Misc.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt('MustDeclareVars', 1)

    [/autoit] [autoit][/autoit] [autoit]

    _example1()

    [/autoit] [autoit][/autoit] [autoit]

    #cs
    Beispiel mit externem Progressfenster zur Demostration der Fortschrittsanzeige mit einer Benutzerfunktion
    #ce
    Func _example1()
    Local $s_ServerName = 'autobert.myplace.net' ;dieser Server existiert nicht anpassen
    Local $s_Username = "autobert" ;anpassen
    Local $s_Password = "TopSecret" ;anpassen
    Local $i_Passive = 0 ;aktive Verbindung nutzen wenn bei anderen Server Probleme dann auch mit 1 für passive Verbung testen

    [/autoit] [autoit][/autoit] [autoit]

    Local $s_LocalFile = "C:\test.zip"
    Local $s_RemoteFile = "test.zip"
    Local $s_RemoteDir = "/FTPTestfiles/" ;anpassen
    Local $l_InternetSession, $l_FTPSession
    Local $errOpen, $errFTP

    [/autoit] [autoit][/autoit] [autoit]

    $l_InternetSession = _FTP_Open('AuoItZilla') ;Öffnet eine FTP Sitzung
    $errOpen = @error
    If Not @error Then
    $l_FTPSession = _FTP_Connect($l_InternetSession, $s_ServerName, $s_Username, $s_Password, $i_Passive) ;Verbindet zu einem FTP Server
    $errFTP = @error
    If Not @error Then
    _FTP_DirSetCurrent($l_FTPSession,$s_RemoteDir)
    ConsoleWrite(_FTP_DirGetCurrent($l_FTPSession) & @CRLF)
    _FTP_ProgressUpload($l_FTPSession, $s_LocalFile, $s_RemoteFile,"_UpdateProgress")
    If @error Then ConsoleWrite("Fehler bei _FTP_ProgressUpload: " & @error & @CRLF)
    Else
    MsgBox(0, "Connect", "fehlgeschalagen")
    ConsoleWrite("Connect: " & " " & $errFTP & @CRLF)
    EndIf
    Else
    MsgBox(0, "Open", "fehlgeschalagen")
    ConsoleWrite("Open " & " " & $errOpen & @CRLF)
    EndIf
    _FTP_Close($l_InternetSession)
    EndFunc ;==>_example1

    [/autoit] [autoit][/autoit] [autoit]

    Func _UpdateProgress($i_Percent)
    ProgressSet($i_Percent, $i_Percent & "%")
    If _IsPressed("77") Then Return 0 ; Abbruch bei F8
    Return 1 ; bei 1 Fortsetzten
    EndFunc ;==>_UpdateProgress

    [/autoit]

    in der Scite-Knsole kannst du erkennen w ein evtl. Fehler liegt,

    mfg autoBert

  • Hallo zusammen

    Danke für eure Antworten. Beim angepassten Skript wird leider nur die Datei mit Grösse 0kb hochgeladen. Zudem wir auch keine ProgressBar angezeit. (ProgressOn() wurde eingefügt.).


    DeepRed92
    Es handelt sich hier um meinen privaten FTP Server, auf dem ich im Root Verzeichnis Schreibrechte habe.


    Danke und Gruss,
    eXpress