Holen Sie Dateipfad und den Dateinamen der ausgewählten Galerie image in Android
Ich bin erstellen einer app, die lädt ein ausgewähltes Bild aus der Galerie und lädt Sie zu einem web-service. Der webservice erfordert der Dateiname des ausgewählten Bildes plus eine base64-Kodierung der Datei-Inhalte. Ich habe es geschafft, dies zu erreichen mit einer fest codierten Pfad. Jedoch bin ich kämpfen, um den echten Dateipfad des Bildes. Ich habe gelesen rund um das web und haben diesen code, aber es funktioniert bei mir nicht:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
Uri selectedImageUri = data.getData();
String[] projection = {MediaStore.Images.Media.DATA};
try {
Cursor cursor = getContentResolver().query(selectedImageUri, projection, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(projection[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
Log.d("Picture Path", picturePath);
}
catch(Exception e) {
Log.e("Path Error", e.toString());
}
}
}
Bekomme ich diesen Fehler:
java.lang.NullPointerException
BEARBEITEN
Vergaß zu erwähnen, ich bin mit Kitkat. Es sieht aus wie mein problem ist KitKat Verwandte. Ich fand diese (siehe unten), die mir geholfen bekommen mein app arbeiten:
Android-Galerie auf KitKat gibt unterschiedliche Uri für Vorsatz.ACTION_GET_CONTENT
InformationsquelleAutor der Frage amburnside | 2013-12-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fügen Sie diese Klasse in Ihrem Projekt
ImageFilePath.java
In Ihrem onActivityResult
InformationsquelleAutor der Antwort Arpit Patel
Ein wenig spät zur party, aber hier ist mein code, hoffe, das hilft.
InformationsquelleAutor der Antwort Matthew Carpenter
Folgenden code verwenden,
und unten ist Ihre getRealPathFromURI Funktion,
InformationsquelleAutor der Antwort InnocentKiller
Versuchen Sie dies:
Und
InformationsquelleAutor der Antwort Virag Brahme
InformationsquelleAutor der Antwort manas.abrol
Versuchen, diese,
InformationsquelleAutor der Antwort Murali Ganesan
Wenn Sie wie ich sind und Sie nicht über eine lokale Datei bereit, für die Instanz, die Sie möchten, geben Anwender die Möglichkeit, ein Bild zu machen und dann das Bild hochladen, das ist, wie es zu tun.
Ich bin ein noob in java, aber ich habe teilen von Erfahrung in der Kodierung.
Stackoverflow hat mir geholfen, zuteilen, so, jetzt ist es meine Zeit, etwas zu tun, zurück.
Unter Klasse Aktivität, die Sie haben zu erklären, diese zwei Elemente.
asuming haben Sie ein funktionierendes upload-Klasse und der php-Skript.
Und den rest überlasse ich bis zu u, wenn Sie so weit gekommen ist, ich bin mir ziemlich sicher, Sie werden fertig stellen.
InformationsquelleAutor der Antwort Peter Gruppelaar
Hoffe, dies hilft Ihnen
InformationsquelleAutor der Antwort saeed
Versuchen, diese Daten zu erhalten sowie Datei-Pfad und legen Sie Sie in Ordner.
InformationsquelleAutor der Antwort Naveeen Kumar