FTP-Upload "freezt" Script ?

  • Hallo Emperormatem

    ich würde vorschlagen du probierst auch mal einen anderen FTP aus - wenn es dem gerade liegt suchts du dir einen Wolf.
    bzw. teste mal mit einem normalen FTP Programm wie WinSCP ob alles funktioniert.

    Beruflich nutze ich FTP viel - und kürzlich erst einen der sich nicht mit einer bestimmten Software nutzen lies.

    BLinz

  • Also bei mir ist das so: Wenn der Upload nur kurz dauert, dann läuft alles wie gewünscht. Wenn der Upload aber länger (10sek +) dann kommt, wenn ich auf die GUI klicke die Meldung "[Programm] reagiert nicht".

  • Also,

    warum auch immer hat das Original Script bei mir auch gezickt.
    Der Hänger kam bei mir meine ich von der letzten _ftp_close($ftpconnect) - die ist zuviel oder?
    Ich habe auf dem FTP beim hochladen zugesehen an sich ging es - aber ich hatte den Zieldateinamen um ein "/" ergänzt. (siehe auch unten)

    Ich habe dein Script mal wie folgt geändert:

    [autoit]

    #include <FTPEx.au3>
    #include <Misc.au3>

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

    $datei_pfad = FileOpenDialog("Datei auswählen", "", "Alle (*.*)|Ausführbare (*.exe)")

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

    For $i = 1 To StringLen($datei_pfad)
    $stringright = StringRight($datei_pfad, $i)
    $stringtrim = StringTrimRight($stringright, $i - 1)
    If $stringtrim = "\" Then
    $file_name_rew = $stringright
    ExitLoop
    EndIf
    Next

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

    $file_name = StringTrimLeft($file_name_rew,1)

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

    ;MsgBox(262144,'Debug line ~' & @ScriptLineNumber,'Selection:' & @lf & '$file_name' & @lf & @lf & 'Return:' & @lf & $file_name) ;### Debug MSGBOX

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

    $ftpopen = _Ftp_open("myftp")

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

    $ftpconnect = _FTP_Connect($ftpopen, 'znil.de', "username", "test1234")

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

    _FTP_ProgressUpload($ftpconnect, $datei_pfad, "/" & $file_name, "_UpdateProgress")

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

    _ftp_close($ftpopen)

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

    ;_ftp_close($ftpconnect)

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

    Func _UpdateProgress($Percentage)
    ConsoleWrite("Fortschritt: " & $Percentage & "%" & @CRLF)
    Return 1 ; Upload fortsetzen
    Endfunc

    [/autoit]


    Statt _ftp_fileput nehme ich _FTP_ProgressUpload. Funktioniert gleich, kann aber über den Fortschritt unterrichten.
    Die Funktion schreibt unten in die Ausgabe von Scite oder in die DOS Box je eine Zeile pro erreichten %

    Beim $file_name habe ich ein "/" davor gesetzt, sonst zickt mein FTP rum.

    BLinz