在应用程序中,用户可以选择图像。要启动图库,我使用以下代码:
Intent i = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, ACTIVITY_SELECT_IMAGE);
当我在onActivityResult方法中打印路径时,我得到像/external/images/media/5615
这样的图像路径。我想知道图片扩展,因为图片需要上传到服务器。延期可能会有所不同。
答案 0 :(得分:2)
您获得的是MediaStore用于获取图像的路径。以下代码将从您的Intent获取结果,并获取附加到它的文件名:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == ACTIVITY_SELECT_IMAGE && resultCode == RESULT_OK && null != data) {
Uri selectedImage = data.getData();
Log.i(TAG, "" + selectedImage.toString());
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
Log.i(TAG, "" + picturePath);
//Do whatever with picturePath
}