如何从URI获取文件?

时间:2015-02-19 02:22:41

标签: android image file uri

我从我的应用中的图片库中选择了一张图片。在onActivityResult中,它返回一个Intent对象,然后在其上执行getData()方法。我得到了图像URI。我现在正在尝试将其转换为文件,以便将其发送到AWS S3。 这是我一直在尝试但它只返回null:

  String[] filePathColumn = { MediaStore.Images.Media.DATA };
        Cursor cursor = context.getContentResolver().query(contentUri, filePathColumn, null, null, null);
        cursor.moveToFirst();
        int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
        String filePath = cursor.getString(columnIndex);
        cursor.close();

我也试试

File file = new File(imageURI.getPath())

也是null。这是不可能的还是有人可以帮忙?

1 个答案:

答案 0 :(得分:0)

假设您的onActivityResult签入的Intent对象为ReturnedIntent,您可以

File f = new File(ReturnedIntent.getData()); 

或获取输入流并使用它

getContentResolver().openInputStream(ReturnedIntent.getData()) 
//returns inputstream

这个String对象String filePath的本质是什么?