Inoffizielles deutsches Xbase-Forum • Thema anzeigen - FTP (Verzeichnis)

FTP (Verzeichnis)

Vom Front-End bis SOAP.

Moderator: Moderatoren

FTP (Verzeichnis)

Beitragvon adrian am Di, 26. Jan 2010 21:22

Hallo zusammen

Wir müssen Bilder von der Festplatte per FTP auf einen externen Web-Server hochladen.

Ist soweit auch kein Problem über Asinet, sofern das Verzeichnis vorhanden ist.

hat jemand eine Idee, wie wir zuerst ein Verzeichniss erstellen können?
(dann müsste jedoch noch geprüft werden können ob das Verzeichnis vorhanden ist oder nicht)

Oder hat sonst noch jemand eine Idee?

adrian
adrian
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 71
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG

Re: FTP (Verzeichnis)

Beitragvon Tom am Di, 26. Jan 2010 21:51

Hallo, adrian.

FTP kennt ein Kommando namens "MKD", also "Make Directory". Aber nicht alle FTP-Server unterstützen das - müsste man mal ausprobieren. Was ist von Dir? Client? Server? Oder beides?

http://tools.ietf.org/html/rfc959
Herzlich,
Tom
Benutzeravatar
Tom
Foren-Administrator
Foren-Administrator
 
Beiträge: 3824
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin

Re: FTP (Verzeichnis)

Beitragvon adrian am Di, 26. Jan 2010 22:41

Salü Tom

Ja, FTP wohl, doch bei ASINET (ich möchte ja aus meinem Code heraus die Daten hochladen) nicht, oder?
adrian
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 71
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG

Re: FTP (Verzeichnis)

Beitragvon Tom am Di, 26. Jan 2010 23:03

Hallo, Adrian.

Verstehe. Die FTPClient()-Klasse aus der ASINET-Library kennt aber nur ein paar Methoden, und dazu gehört die Ausführung von beliebigen FTP-Kommandos offenbar nicht. Es wäre interessant, zu sehen, welche Kommandos ASINET wie übermittelt - das kann man leicht sehen, wenn man einen lokalen FTP-Server (gibt es kostenlos zum Beispiel bei www.winftp.com) installiert, den dann kontaktiert (localhost) und sich das Protokoll anzeigen lässt. Möglicherweise könnte man dann eine FTPClient-Klasse ableiten und um die Senderei von Kommandos ergänzen; FTP ist nämlich eigentlich sehr simpel. Ich habe sowohl einen FTP-Server, als auch einen FTP-Client selbstgebaut, aber mit den Bibliotheken von MarshallSoft: www.marshallsoft.com
Herzlich,
Tom
Benutzeravatar
Tom
Foren-Administrator
Foren-Administrator
 
Beiträge: 3824
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin

Re: FTP (Verzeichnis)

Beitragvon Martin Altmann am Di, 26. Jan 2010 23:06

Huhu Tom,
Tom hat geschrieben:Ich habe sowohl einen FTP-Server, als auch einen FTP-Client selbstgebaut, aber mit den Bibliotheken von MarshallSoft: http://www.marshallsoft.com

hattest Du das nicht mal mit XB2.NET gemacht? Und wenn ja, warum bist du davon weg?

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Berlin/Brandenburg
Mitglied der XUG Osnabrück
2. Vorsitzender des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 7625
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin

Re: FTP (Verzeichnis)

Beitragvon adrian am Di, 26. Jan 2010 23:17

Ich habe die LIB von Marshall gerade heruntergeladen, habe jedoch das Problem, dass ich nicht mehr debuggen kann, sobald ich die Include-Dateien eingebunden habe.

Klappt dies bei Dir?
adrian
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 71
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG

Re: FTP (Verzeichnis)

Beitragvon Tom am Di, 26. Jan 2010 23:46

@Adrian: In der FCE32.CH steht eigentlich nix drin, das Debuggen verhindern könnte. :?:

@Martin: Stimmt. Der Client ist mit MarshallSoft, der Server mit Xb2.NET gemacht. Sorry für die informatorische Nachlässigkeit.
Herzlich,
Tom
Benutzeravatar
Tom
Foren-Administrator
Foren-Administrator
 
Beiträge: 3824
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin

Re: FTP (Verzeichnis)

Beitragvon Martin Altmann am Di, 26. Jan 2010 23:50

Hallo Tom,
dann bin ich ja beruhigt.
Was hast Du denn heruntergeladen und was nutzt Adrian?
Für Adrian relevant wäre wohl: http://www.marshallsoft.com/csc4xb.htm
Du hast ja "nur" http://www.marshallsoft.com/fce4xb.htm

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Berlin/Brandenburg
Mitglied der XUG Osnabrück
2. Vorsitzender des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 7625
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin

Re: FTP (Verzeichnis)

Beitragvon Tom am Di, 26. Jan 2010 23:55

Für Adrian relevant wäre wohl


Warum? Er will doch einen FTP-Client haben, oder?
Herzlich,
Tom
Benutzeravatar
Tom
Foren-Administrator
Foren-Administrator
 
Beiträge: 3824
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin

Re: FTP (Verzeichnis)

Beitragvon Martin Altmann am Di, 26. Jan 2010 23:57

Ach ja - hast ja Recht!
Ich war an Deinem Hinweis mit dem lokalen Server zum Testen hängen geblieben...

Gute Nacht (ist jetzt wohl langsam besser so),
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Berlin/Brandenburg
Mitglied der XUG Osnabrück
2. Vorsitzender des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 7625
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin

Re: FTP (Verzeichnis)

Beitragvon brandelh am Mi, 27. Jan 2010 0:16

Hi,

PHIL hat eine FTP Klasse die viel kann !
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 6246
Registriert: Mo, 23. Jan 2006 21:54
Wohnort: Germersheim

Re: FTP (Verzeichnis)

Beitragvon brandelh am Do, 04. Feb 2010 12:29

Hi,

ich habe jetzt auch den Bedarf einen FTP Server nach seinem Verzeichnis zu fragen ... aber ich bekomme noch nicht mal einen connect ... :angry5:

Nun mal die Fakten :!:
Dieser Code mit ASINET bekommt eine Verbindung zum Server ... Zugriff OK !
Code: Alles auswählen
#pragma Library( "ASINet10.lib" )
#include "UserData.ch"                 // MY_SERVER, MY_USER, MY_PW werden hier defined
#define TAB  chr(9)
#define CRLF chr(13)+chr(10)

PROCEDURE Main
   LOCAL cFtpServer := MY_SERVER
   LOCAL cUserName  := MY_USER
   LOCAL cPassword  := MY_PW
   LOCAL oFtp, cContents
   oFtp := FTPClient():new( cFtpServer, cUserName, cPassWord )
   IF .NOT. oFtp:connect()
      msgbox("Zugriff verweigert !"+CRLF+;
             "cFtpServer:"+TAB+"'"+cFtpServer+"'"+CRLF+;
             "cUserName:"+TAB+ "'"+cUserName+"'"+CRLF+;
             "cPassword:"+TAB+ "'"+cPassword+"'", "HB FTP Test")
   ELSE
      msgbox("Zugriff OK !", "HB FTP Test")
      // hier kommt der Rest
      oFtp:disconnect()
   ENDIF
RETURN


Dieser Code mit Phils Klasse bekommt keine Verbindung zum Server ... :( !

Code: Alles auswählen
#pragma Library( "XBFTP.LIB" )
#include "XbFtp.ch"
#include "UserData.ch"

*  METHODS:
*        :init( cAddress, cUserId, cPassword, cProxy, nPort )
*        :Open()                 // :connect() bei Asinet
*        :close()                - this also accepts a parameter - do not use it!
*                                  the parameter is entirely for internal use only
*        :destroy()              - a convenient way to properly close a connection
*        :getCurrentDirectory()
*        :setCurrentDirectory(cDirectry)
*        :createDirectory(cDirectry)
*        :deleteDirectory(cDirectry)
*        :deleteFile(cFile)
*        :renameFile(cFile, cNewName)
*        :getFile(cRemoteFile, cLocalFile, lOverWrite, fAttr, nTransferMode)
*        :putFile(cLocalFile, cRemoteFile, nTransferMode)
*        :directory(lSorted, cSpec)
#define TAB  chr(9)
#define CRLF chr(13)+chr(10)

PROCEDURE Main
   LOCAL cFtpServer := MY_SERVER
   LOCAL cUserName  := MY_USER
   LOCAL cPassword  := MY_PW
   LOCAL oFtp, cContents
   oFtp := XbFTP():new( cFtpServer, cUserName, cPassWord )
   IF .NOT. oFtp:open()
      msgbox("Zugriff verweigert !"+CRLF+;
             "cFtpServer:"+TAB+"'"+cFtpServer+"'"+CRLF+;
             "cUserName:"+TAB+ "'"+cUserName+"'"+CRLF+;
             "cPassword:"+TAB+ "'"+cPassword+"'", "HB FTP Test")
   ELSE
      msgbox("Zugriff OK !", "HB FTP Test")
      // hier kommt der Rest
      oFtp:close()
   ENDIF
RETURN
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 6246
Registriert: Mo, 23. Jan 2006 21:54
Wohnort: Germersheim

Re: FTP (Verzeichnis)

Beitragvon peternmb am Do, 04. Feb 2010 16:11

also bei mir funktioniert diese Klasse von Phil problemlos.

Vielleicht einfach nur ein Tippfehler beim Servernamen?
peternmb
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 207
Registriert: Mi, 01. Feb 2006 17:22
Wohnort: 06618 Naumburg

Re: FTP (Verzeichnis)

Beitragvon brandelh am Do, 04. Feb 2010 18:19

peternmb hat geschrieben:also bei mir funktioniert diese Klasse von Phil problemlos.
Vielleicht einfach nur ein Tippfehler beim Servernamen?


ein Tippfehler kann es nicht sein, denn mit ASINET und mit PowerBasic (da habe ich mir eine Klasse geladen) geht es mit den gleichen Anmeldedaten auch.

Eventuell hast du aber eine verbesserte Version, könntest du mir deine zur Verfügung stellen ?
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 6246
Registriert: Mo, 23. Jan 2006 21:54
Wohnort: Germersheim

Re: FTP (Verzeichnis)

Beitragvon peternmb am Do, 04. Feb 2010 19:14

brandelh hat geschrieben:Eventuell hast du aber eine verbesserte Version, könntest du mir deine zur Verfügung stellen ?


das müsste die orginale ZIP-Datei sein - ist allerdings auch schon älter
Dateianhänge
xbftp.zip
(13.93 KiB) 18-mal heruntergeladen
peternmb
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 207
Registriert: Mi, 01. Feb 2006 17:22
Wohnort: 06618 Naumburg

Re: FTP (Verzeichnis)

Beitragvon brandelh am Do, 04. Feb 2010 23:08

Hallo,

eben habe ich das Programm auf Win2000 hinter meiner Fritzbox probiert und beide Versionen funktionieren ...
Unter Win7 musste ich die EXE in der Firewall freischalten, das war aber keine Problem.
Die Probleme hatte ich mit einem XP SP3 Rechner an Vodafone ... auch dort hatte ich der Firewall die Erlaubnis erteilt,
aber vielleicht ist dabei bei der zweiten Datei etwas schief gegangen.

Die PowerBasic Version macht mittlerweile alles, aber bringt Fehler beim FileCopy :cry: es ist zum Mäuse melken ... :roll:

PS: Danke für die Datei, ich werde diese mit meiner vergleichen ...
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 6246
Registriert: Mo, 23. Jan 2006 21:54
Wohnort: Germersheim

Re: FTP (Verzeichnis)

Beitragvon brandelh am Do, 04. Feb 2010 23:17

Hi,

deine Datei ist genau gleich mit der von Phils Site bei Pablo ... vermutlich liegt es wirklich an der Firewall vom XP Rechner ...
wenn ich an die verlorene Zeit denke :roll:
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 6246
Registriert: Mo, 23. Jan 2006 21:54
Wohnort: Germersheim

Re: FTP (Verzeichnis)

Beitragvon brandelh am Sa, 06. Feb 2010 1:30

Hi,

Phils Klasse funktioniert nun bei mir Klasse :D

Sollte jemand Quellcode brauchen, kann ich was aus meinen Clientprogramm ausschneiden ;-) einfach melden.

PS: ich verschiebe den Thread mal ins WEB !
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 6246
Registriert: Mo, 23. Jan 2006 21:54
Wohnort: Germersheim

Re: FTP (Verzeichnis)

Beitragvon adrian am Mo, 08. Feb 2010 16:38

Ja gerne. Ich muss von einem Server ein File runterladen und dazu ca. 40'000 JPG's (Bilder der Artikel) danach das ganze auf einen anderen Server verschieben. Da muss ich jedoch auch noch die entsprechende Verzeichnis-Struktur erstellen.

Nun, die ersten 300 Artikel gehen recht schnell (ca. 1 Sek. pro Artikel) danach ändert sich die Geschwindigkeit auf 8-10 Sek. pro Artikel, daher nicht brauchbar.

Vielleicht kann ich mit Deinem Code was anfangen.

adrian
adrian
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 71
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG

Re: FTP (Verzeichnis)

Beitragvon brandelh am Mo, 08. Feb 2010 19:11

Hi,

mein Beispiel lädt DBFs (einschränkbar) auf ein lokales Verzeichnis.
Zweck ist eine Datensicherung, aber auch für Test mit neuen Programmversionen ...

Das Problem beim Upload von einer Workstation ist die geringe Upload-Geschwindigkeit.
Du solltest also versuchen das Programm direkt auf dem Server laufen zu lassen ;-)
Dateianhänge
FTP-Beispiel.PRG
Benötigt XbFTP von Phil Ide
(12.21 KiB) 17-mal heruntergeladen
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 6246
Registriert: Mo, 23. Jan 2006 21:54
Wohnort: Germersheim

Re: FTP (Verzeichnis)

Beitragvon adrian am Mo, 08. Feb 2010 19:45

Danke Dir, werde dies mal anschauen.

Das mit der Geschwindigkeit ist mir schon klar, doch es geht ja auch nur um Bilder von ca. 50kB und das problem ist nicht das Upload, es stockt bei der Erstellung von Verzeichnissen.

Bin gespannt, ob es mit dieser Version besser geht. Melde mich.

Adrian
adrian
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 71
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG

Re: FTP (Verzeichnis)

Beitragvon adrian am Do, 18. Feb 2010 22:33

Hallo Leute

Mit den Tools von Marshall klappt es soweit wunderbar, ausser:

Ich muss noch eine Datei von 16 MB hochladen. Bei ca. 3.8MB wird die Datei jedoch abgebrochen.

Das Problem könnte auch bei memoread liegen. Hier der Code-Teil
sZ := MemoRead("CONTENT.CSV")
oFtp:put("content.csv",sZ)

adrian
adrian
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 71
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG

Re: FTP (Verzeichnis)

Beitragvon brandelh am Fr, 19. Feb 2010 10:43

Hi,

ich lade Dateien mit 500 MB auf meinem lokalen Rechner ohne Probleme (2GB Hauptspeicher; Regel unter 1/2 des RAM bleiben).
Eventuell begrenzt der Server die Dateigröße ?
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 6246
Registriert: Mo, 23. Jan 2006 21:54
Wohnort: Germersheim

Re: FTP (Verzeichnis)

Beitragvon adrian am Fr, 19. Feb 2010 14:39

Nun, ich habe dies auf 3 verschiedenen FTP-Server getestet, da ich auch an ein anderes Problem dachte.

Doch bei allen der gleiche Effekt.
adrian
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 71
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG

Re: FTP (Verzeichnis)

Beitragvon brandelh am Fr, 19. Feb 2010 15:38

Hi,

wenn es nach 3,8 MB abbricht, warum soll dann memoread() schuld sein ?

Das meinte ich mit meinem Hinweis auf die Dateigröße.
Teste doch mal mit dem Beispiel von mir (Phils XbFTP) ... Zum Testen habe ich mir mit FileZilla
einen eigenen Server in die Bude gestellt, den ich über die WEB IP Adresse auch aus dem Internet aufrufen kann.

Ich bin mir im Moment aber gar nicht sicher wie groß die Datei war mit der ich den UPLOAD versucht habe.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 6246
Registriert: Mo, 23. Jan 2006 21:54
Wohnort: Germersheim


Zurück zu Web

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast