3
Я хочу сгенерировать файл на сервер, и мне нужно получить реальный путь от uri.android: Получить реальный путь от uri
Мой код:
public String getPathFromURI(Context context, Uri contentUri) {
if (contentUri.toString().indexOf("file:///") > -1){
return contentUri.getPath();
}
Cursor cursor = null;
try {
String[] proj = { MediaStore.Images.Media.DATA };
cursor = context.getContentResolver().query(contentUri, proj, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}finally {
if (cursor != null) {
cursor.close();
}
}
}
И onActivityResult:
...
imageName = data.getData();
imagePath = getPathFromURI(getBaseContext(),imageName);
Picasso.with(getBaseContext()).load(imageName).into(imageView);
...
Как это возможно, что изображение показывает в ImageView, но ImagePath ВСЕГДА нуль? :) Спасибо
EDIT:
Как я могу отправить изображение на сервер
HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
HttpPost httpPost = new HttpPost([URL TO A SERVER]);
MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
entity.addPart("uploaded_file_1", new FileBody(new File(imagePath)));
httpPost.setEntity(entity);
httpClient.execute(httpPost, localContext);
Можете ли вы проверить, какая часть вашего кода bei ng называется? Оператор 'if' или' else' в методе 'getPathFromURI'. Кроме того, вы можете зарегистрировать значение imageName (URI), чтобы узнать, что это такое. – NightwareSystems
Значение Uri «content: //com.android.blah.blah» –
И вызвано второе –