![]() |
mobile Anwendung: FTP-Client bleibt beim Uploaden hängen
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; |
AW: mobile Anwendung: FTP-Client bleibt beim Uploaden hängen
Funktioniert der Transfer denn nicht-mobil, aus einer einfachen Delphi Form- oder Konsolenanwendung?
|
AW: mobile Anwendung: FTP-Client bleibt beim Uploaden hängen
Hallo Michael
Aus der normalen Windowsanwendung funktioniert die Sache absolut problemlos. Gruss Robert |
AW: mobile Anwendung: FTP-Client bleibt beim Uploaden hängen
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 ![]() |
AW: mobile Anwendung: FTP-Client bleibt beim Uploaden hängen
@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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz