2017-07-12 3 views
0

Dies ist mein Code für das Hochladen von Image auf Server, dies funktioniert gut mit anderen Projekten, aber ich habe Fehler, wenn ich diesen Code in meinem Projekt // Methode verwenden, um den Dateipfad von uriFehler beim Hochladen von Bild mit Multipart

zu erhalten
public String getPath(Uri uri) { 
     Cursor cursor = getContentResolver().query(uri, null, null, null, 
      null); 
     cursor.moveToFirst(); 
     String document_id = cursor.getString(0); 
     document_id = document_id.substring(document_id.lastIndexOf(":") + 1); 
     cursor.close(); 

     cursor = getContentResolver().query(
       android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI, 
       null, MediaStore.Images.Media._ID + " = ? ", new String[]{document_id}, null); 
     cursor.moveToFirst(); 
     String path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA)); 
     cursor.close(); 

     return path; 
    } 

ich diese Bibliothek bin mit einem Bild für das Hochladen: Kompilierung 'net.gotev: uploadservice: 2.1' was soll ich tun ???

+0

welche Fehler erhalten Sie? show error Log –

+0

von dieser Methode erhalten Sie Pfad rechts – Dilip

+0

Teilen Sie Ihre Stack-Spuren. Es wird für uns nützlich sein, das Problem zu identifizieren und Ihnen zu helfen. –

Antwort

1

Sie haben gerade ein Problem, weil der Cursor in dieser Zeile null ist. Sie haben null zu überprüfen, wenn die Arbeit mit cursor:

String path = ""; 
if(cursor != null && cursor.moveToFirst()){ 
    path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA)); 
    cursor.close(); 
} 
+0

eigentlich ist es nicht null, es ist leer. Laut OP-Kommentar ist der Fehler "android.database.CursorIndexOutOfBoundsException: Index 0 angefordert, mit einer Größe von 0 ..." – Yazan

+0

Wenn der Pfad leer ist, müssen Sie vor der Konvertierung in Byte [] prüfen und in Multipart übergeben. Wenn der Pfad leer ist, erhalten Sie kein Bild. Kannst du ur code bei der Konvertierung von Pfad zu Byte und bei Verwendung von multipart zum Posten von Bildern posten? – GiaLe

+0

Ich verweise diesen Link https://www.simplifiedcoding.net/android-upload-image-to-server/#comment-11923 – dipali

Verwandte Themen