【发布时间】:2017-05-23 22:27:56
【问题描述】:
所以我正在使用改造将图像上传到我们的服务器,并使用图库选择器来选择图像。我正在尝试获取图像的路径,因为 uri.getPath() 返回文件未找到异常。我几乎已经看过几乎所有关于这个主题的 stackoverflow 文章,但仍然没有答案。我拥有的以下代码与我在网上看到的所有代码相似,它总是返回 null,我不知道为什么。请帮忙
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
try {
android.net.Uri selectedImage = data.getData();
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), selectedImage);
// Log.d(TAG, String.valueOf(bitmap));
ImageView imageView = (ImageView) findViewById(R.id.expandedProfilePic);
imageView.setImageBitmap(bitmap);
String[] filePathColumn = {MediaStore.Images.Media.DATA};
android.database.Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
if (cursor == null)
return;
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String filePath = cursor.getString(columnIndex);
cursor.close();
// is always null
System.out.println("FILE PATH " + filePath);
} catch (IOException e) {
e.printStackTrace();
}
}
}
【问题讨论】:
标签: android file uri retrofit android-gallery