繁体   English   中英

如何从URI获取文件?

[英]How to get a File from a 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。 这是不可能的还是有人可以帮忙?

假设您的onActivityResult检入Intent对象为ReturnedIntent您可以这样做

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

或获取输入流并使用它

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM