AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung mobile Anwendung: FTP-Client bleibt beim Uploaden hängen

mobile Anwendung: FTP-Client bleibt beim Uploaden hängen

Ein Thema von rdeutsch · begonnen am 21. Mai 2014 · letzter Beitrag vom 22. Mai 2014
Antwort Antwort
rdeutsch

Registriert seit: 24. Mär 2006
42 Beiträge
 
#1

mobile Anwendung: FTP-Client bleibt beim Uploaden hängen

  Alt 21. Mai 2014, 15:59
Guten Tag

In meiner mobilen Anwendung wird der Bildinhalt einer TImage-Komponente via FTP auf einen Server hochgeladen. Das Uploaden funktioniert, aber der FTP.Put-Befehl bleibt dabei hängen. Nach einer gewissen Zeit (Timeout) erscheint dann die Fehlermeldung: "Zeitüberschreitung beim Lesen".

Hat da jemand eine Idee was da falsch laufen könnte?

PS: egal ob der Bildinhalt via Stream oder als LoadfromFile hochgeladen wird, der Put-Befehl bleibt hängen.

Danke für eure Hilfe und Gruss
Robert


Hier der Code fürs Uploaden:

Code:
procedure TForm5.UploadImage;
var stream : TMemoryStream;
     saveParams : TBitmapCodecSaveParams;
     aBitmapSurface: TBitmapSurface;
     aPath: string;
begin
  memo1.lines.add('starting upload image stream');
  aPath := System.IOUtils.TPath.GetDocumentsPath + System.SysUtils.PathDelim;
  memo1.lines.add('image path: '+aPath);
  Application.ProcessMessages;

  stream := TMemoryStream.Create;
  try
    aBitmapSurface := TBitmapSurface.Create;

    aBitmapSurface.Assign(Image1.bitmap);
    saveparams.Quality:=20;
    //TBitmapCodecManager.SaveToStream(Stream, aBitmapSurface, '.jpg',@saveParams);
    TBitmapCodecManager.SaveToFile(aPath+'mypicture.jpg',aBitmapSurface);

    try
      if not FTPConnected then
        Exit;
      Application.ProcessMessages;
      //FTPClient.Put(stream,'mymobilepic.jpg',true,0);
      FTPClient.Put( aPath+'mypicture.jpg','mywebpicture.jpg',false,0);
      Application.ProcessMessages;
      FTPClient.Disconnect;

      memo1.lines.add('finished upload image stream');
    except
      on e:exception do
        memo1.lines.add('error uploading image stream: '+e.message);
    end;

  finally
    aBitmapSurface.Free;
    stream.Free;
  end;
end;
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
2.885 Beiträge
 
Delphi 2009 Professional
 
#2

AW: mobile Anwendung: FTP-Client bleibt beim Uploaden hängen

  Alt 21. Mai 2014, 16:59
Funktioniert der Transfer denn nicht-mobil, aus einer einfachen Delphi Form- oder Konsolenanwendung?
Michael Justin
  Mit Zitat antworten Zitat
rdeutsch

Registriert seit: 24. Mär 2006
42 Beiträge
 
#3

AW: mobile Anwendung: FTP-Client bleibt beim Uploaden hängen

  Alt 21. Mai 2014, 17:35
Hallo Michael

Aus der normalen Windowsanwendung funktioniert die Sache absolut problemlos.

Gruss Robert
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

AW: mobile Anwendung: FTP-Client bleibt beim Uploaden hängen

  Alt 21. Mai 2014, 19:37
Bei PUT, GET oder LIST baut ein FTP-Server normalerweise eine weitere TCP-Verbindung (den Datenkanal) zum Client auf.
Sollte dies aus bestimmten Gründen (z.B. gesperrt durch Firewall, Probleme beim NAT Tunneling ) nicht möglich sein tritt das von dir beschriebene Problem auf.
Versuche mal den Passive-Mode zu aktivieren.
fork me on Github
  Mit Zitat antworten Zitat
rdeutsch

Registriert seit: 24. Mär 2006
42 Beiträge
 
#5

AW: mobile Anwendung: FTP-Client bleibt beim Uploaden hängen

  Alt 22. Mai 2014, 07:52
@sx2008:

Vielen Dank! Das war der richtige Tipp.

Mit Passive = true funktioniert der Upload wie gewünscht.

Nochmals Danke für eure Hilfe und Gruss
Robert
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 01:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf