Seite 1 von 1

schwierigkeiten beim FTP Upload...

Verfasst: 02.11.2008 22:42
von DrNo
Hallo,
Ich hab vorher mal schnell für meinem FTP Server den Benutzer drno_test mit dem passwort 1234 erstellt. Mit dem Benutzer hat man (nur) Rechte im Verzeichnis http://drno.bplaced.net/test/ (Das Verzeichnis ist automatisch das Home-Verzeichnis) wenn man sich Verbindet was hochzuladen/löschen etc..
Dann hab ich mir einen Code zum hochladen erstellt:

Code: Alles auswählen

file$ = OpenFileRequester("Datei...", "C:\", "Alle Dateien (*.*)", 0)
InitNetwork()
MessageRequester("Info", "Es wird nun versucht eine Verbindung mit dem Server herzustellen...")
If OpenFTP(0, "drno.bplaced.net", "drno_test", "1234", Passiv, 21)
   MessageRequester("Info", "Die Verbindung wurde erfolgreich hergestellt.")
   MessageRequester("Info", "Es wird nun versucht die Datei "+file$+" auf den Server hochzuladen...")
  Else
   MessageRequester("Fehler", "Die Verbindung konnte nicht hergestellt werden.")
   End
EndIf
filepart$ = GetFilePart(file$)
ftpdir$ = GetFTPDirectory(0)
MessageRequester("Info", "Datei wird hochgeladen auf: "+ftpdir$ + filepart$)
If SendFTPFile(0, file$, ftpdir$ + filepart$, Asynchron)
   MessageRequester("Info", "Die Datei wurde erfolgreich hochgeladen.")
  Else
   MessageRequester("Fehler", "Die Datei konnte nicht hochgeladen werden.")
EndIf
MessageRequester("Info", "Die Verbindung wird nun geschlossen und das Programm beendet.")
CloseFTP(0)
End
Dann wollte ich mit dem Code ein "Testbild.jpg" (200kb) auf den Server hochladen. Die Verbindung konnte hergestellt werden aber beim Upload passiert dann nix mehr. D.h., wenn er Uploaden soll, dann zeigt meine Firewall kurz ein Outstream an aber dann passiert nixmehr. Dann hab ich nach 2 mins das Programm (weil nixmehr passiert is) beendet und auf dem Server nachgeschaut. Es war keine Datei da. Dann, als ich 2 Minuten später nochmal draufgeschaut hab, war die Datei auf einmal da allerdings 0 kb groß.

Was mach ich da falsch dass er die datei nicht hochläd?

gruß DrNo

Verfasst: 02.11.2008 22:46
von ts-soft
Declariere mal Deine Variablen, am besten auch EnableExplicit, das erspart
so manche unnötige Frage.
Die undeklarierte Variable passiv hat also einen Wert von 0, also #False
Wenn Du also Passiv benötigst, ist da was falsch.

Aber testen tue ich das erst, wenn die Variablen deklariert wurden :mrgreen:

Verfasst: 02.11.2008 23:10
von DrNo
Wie...wie deklariert man und wozu soll das gut sein? :oops:

Verfasst: 02.11.2008 23:23
von ts-soft

Code: Alles auswählen

EnableExplicit

Define file$, filepart$, ftpdir$
Define passiv = #True, Asynchron

file$ = OpenFileRequester("Datei...", "C:\", "Alle Dateien (*.*)", 0)
InitNetwork()
MessageRequester("Info", "Es wird nun versucht eine Verbindung mit dem Server herzustellen...")
If OpenFTP(0, "drno.bplaced.net", "drno_test", "1234", Passiv, 21)
   MessageRequester("Info", "Die Verbindung wurde erfolgreich hergestellt.")
   MessageRequester("Info", "Es wird nun versucht die Datei "+file$+" auf den Server hochzuladen...")
  Else
   MessageRequester("Fehler", "Die Verbindung konnte nicht hergestellt werden.")
   End
EndIf
filepart$ = GetFilePart(file$)
ftpdir$ = GetFTPDirectory(0)
MessageRequester("Info", "Datei wird hochgeladen auf: "+ftpdir$ + filepart$)
If SendFTPFile(0, file$, ftpdir$ + filepart$, Asynchron)
   MessageRequester("Info", "Die Datei wurde erfolgreich hochgeladen.")
  Else
   MessageRequester("Fehler", "Die Datei konnte nicht hochgeladen werden.")
EndIf
MessageRequester("Info", "Die Verbindung wird nun geschlossen und das Programm beendet.")
CloseFTP(0)
End
Ausserhalb von Proceduren wird mit Define oder Global deklariert.
Innerhalb von Proceduren meist mit Protected.
Shared und Static gibts auch noch!

Durch die Deklaration wird der Gültigkeitsbereich festgelegt. Mit
EnableExplicit wird die erfolgte Deklaration überprüft, was z.b. vor
Tippfehlern schützt.

Variablendeklaration erleichtert also die Fehlersuche erheblich!
Codes, in denen das nicht gemacht wurde, deren Fehlermeldungen von
Usern ignoriere ich deshalb auch meist!

Die Befehle kannste in der Hilfe nachlesen. Auf jedenfall habe ich meine
Testdatei mit Erfolg hochgeladen :allright:

Werde die erstmal wieder löschen :mrgreen:

Verfasst: 03.11.2008 20:43
von DrNo
Okay danke für die Hilfe.
Anscheinend haben noch andere den Code erfolgreich getestet... :mrgreen: