![]() |
Android Bilder aus Galerie per FTP aus Server laden
Hallo zusammen,
ich wollte mit Firemonkey eine kleine Android App schreiben, mit der man Bilde raus der Galerie per FTP auf einen Server laden kann. Die Verbindung mit IDFTP klappt problemlos wenn ich einfach nur den Connect ausführe. Mit fehlt aber noch der komplette Bildpfad inklusive Dateiname um den Put machen zu können. Ich verwende diesen Code um die Bilder aus der Galerie zu wählen (funktioniert auch):
Delphi-Quellcode:
Im Action Handler des Intent dann um zu sehen welcher der richtige Pfad ist:
procedure TMFORM.getImages();
var Intent : JIntent; begin FMessageSubscriptionID := TMessageManager.DefaultManager.SubscribeToMessage(TMessageResultNotification, HandleActivityMessage); Intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_PICK); intent.setType(StringToJString('image/*')); intent.setAction(TjIntent.JavaClass.ACTION_GET_CONTENT); Intent.putExtra(TJIntent.JavaClass.EXTRA_ALLOW_MULTIPLE,true); if MainActivity.getPackageManager.queryIntentActivities(Intent, TJPackageManager.JavaClass.MATCH_DEFAULT_ONLY).size > 0 then MainActivity.startActivityForResult(Intent,0) else ShowMessage('Receiver not found'); end;
Delphi-Quellcode:
Wie komme ich an den vollständigen Pfad für den Upload?
function TMFORM.HandleIntentAction(const Data: JIntent): Boolean;
var C: JCursor; I: Integer; idx : Integer; begin Memo1.Lines.Text := JStringToString(Data.getData.toString); C := MainActivity.getContentResolver.query(Data.getData,nil,StringToJString(''),nil,StringToJString('')); C.moveToFirst; Memo1.Lines.Add('Path:' + JStringToString(Data.getData.getPath)); //Das ist nicht der Pfad für den Upload Memo1.Lines.Add('No of columns returned:' + C.getColumnCount.ToString); for I := 0 to C.getColumnCount - 1 do begin if JStringToString(C.getColumnName(I)) = '_data' then Edit1.Text := JStringToString(C.getString(I)); //Das sollte der richtige Pfad sein aber _data kommt als column nicht vor Memo1.Lines.Add(JStringToString(C.getColumnName(I)) +': ' + JStringToString(C.getString(I))); end; end; Gruß Mirko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 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-2025 by Thomas Breitkreuz