AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi IdFTPServer - Kleine Probleme mit Uploads und Ordnern.
Thema durchsuchen
Ansicht
Themen-Optionen

IdFTPServer - Kleine Probleme mit Uploads und Ordnern.

Ein Thema von Mohadrim · begonnen am 20. Jun 2012 · letzter Beitrag vom 21. Jun 2012
Antwort Antwort
Mohadrim

Registriert seit: 4. Jun 2004
8 Beiträge
 
#1

IdFTPServer - Kleine Probleme mit Uploads und Ordnern.

  Alt 20. Jun 2012, 08:38
Hallo,

mein Problem ist, denke ich mal nur ein kleines. Der IdFTPServer funktioniert soweit Problemlos bis auf folgende Fehler:

1. Per FTP Clienten kann man maximal zwei Dateien gleichzeitig hochladen bei 30Dateien kein Problem. Werden jedoch 4 gleichzeitig im FTP Client eingestellt bringt jede 7-8 Datei ein Upload Fehler. Der Fehler zeigt, dass der Server nicht erreichbar sei.

Delphi-Quellcode:
procedure TForm1.IdFTPServer1StoreFile(ASender: TIdFTPServerContext;
  const AFileName: string; AAppend: Boolean; var VStream: TStream);
begin
  if not Aappend then
   VStream := TFileStream.Create(ReplaceChars(AppDir+AFilename),fmCreate)
  else
   VStream := TFileStream.Create(ReplaceChars(AppDir+AFilename),fmOpenWrite)
end;

2. Unter FileZilla (Linux/Windows) sowie PHP FTP kann man auf dem Server neue Verzeichnisse erstellen. Dabei wird nachfolgende Funktion aufgerufen. Bei cuteFTP hingegen kann der Ordner nicht erstellt werden obwohl es keine Fehlermeldung gibt sondern ein "Ordner wurde erstellt". Auch wird die Funktion des idFTPServers gar nicht erst aufgerufen hab dort ein ShowMessage als Kontrolle eingebaut gehabt. Die Einstellungen sind jedoch wie FileZilla gesetzt. Mein Bedenken nun, dass auch andere FTP Clienten nicht gehen, wenn ich den FTP Server bereitstelle. Gibt es in IdFTPServer noch eine andere Möglichkeit, einen ordner zu erstellen?

Delphi-Quellcode:
procedure TForm1.IdFTPServer1MakeDirectory(ASender: TIdFTPServerContext;
  var VDirectory: string);
begin
  if not DirectoryExists(ReplaceChars(AppDir + VDirectory)) then
  if not CreateDir(ReplaceChars(AppDir + VDirectory)) then
  begin
    Raise Exception.Create('Unable to create directory');
  end;
end;

3. So dritter und letzter Fehler. Dateien hochladen geht ja problemlos, sei es nun mal mit den maximal 2Dateien gleichzeitig außer acht gelassen. Nur das Problem sind die Verzeichnisse. Lade ich nun einen Ordner mit Dateien darin hoch geht es nicht, da er kein Ordner erstellt egal ob Filezilla (Linux/Windows) etc. Er will also alle Dateien hochladen ohne vorher zu prüfen ob nicht erst ein Ordner angelegt werden muss. Meine Idee nun, dass ich bei IdFTPServer1StoreFile die Variable AFilename zerlege und den Dateinamen am Ende lösch und den Pfad als AFoldername speicher und dann überprüf, ob der Ordner vorhanden ist, wenn nicht dann erstellen. Nur wie kann ich den String zerlegen so dass ich nur den Pfad ohne Datei bekomm?

C:\ftpverzeichnis\subfolder\datei1.test
C:\ftpverzeichnis\subfolder\datei2

Also die Dateien haben auch mal keine Endung.


Wäre echt super, wenn mir jemand bei 2. und 3. eine Lösung nennen könnte und perfekt, wenn auch 1. irgendwie zu lösen wäre. *G*
  Mit Zitat antworten Zitat
NickelM

Registriert seit: 22. Jul 2007
Ort: Carlsberg
445 Beiträge
 
Delphi 2009 Professional
 
#2

AW: IdFTPServer - Kleine Probleme mit Uploads und Ordnern.

  Alt 20. Jun 2012, 11:51
Zu Punkt 3. :
Versuch es mal mit ExtractFileDir .
Wenn die Datei eine Endung hat funkt es. Weis aber nicht ob es geht wenn sie keine hat. Man müsste dan vielleicht die Funktion ExtractFileDir umbauen, für deine Zwecke.

Gruß NickelM
Nickel
"Lebe und denke nicht an morgen"
Zitat aus dem gleichnamigen Bollywoodfilm.
  Mit Zitat antworten Zitat
Mohadrim

Registriert seit: 4. Jun 2004
8 Beiträge
 
#3

AW: IdFTPServer - Kleine Probleme mit Uploads und Ordnern.

  Alt 21. Jun 2012, 07:47
Danke das geht nun auch. Bleiben nur noch 1. und 2. offen. Beim übertragen meckert er zudem, dass bei MDTM keine Rückmeldung erfolgt.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz