Android---把Uri转换成File

前两天在开发的过程中,遇见了一个小问题,把图片上传到服务器里,后来才发现,我在网络请求的过程中传入的是图片的uri,并不是file的路径,然后在网上查了一下,用的是一个已经弃用的方法managedQuery(),
加上这几行代码就可以了。

				Uri uri = data.getData();
                //uri转换成file
                String[] arr = {MediaStore.Images.Media.DATA};
                Cursor cursor = managedQuery(uri, arr, null, null, null);
                int imgIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
                cursor.moveToFirst();
                String imgPath = cursor.getString(imgIndex);
                File file = new File(imgPath);

偶然看到我这里用的是一个已经弃用的方法managedQuery,本着严谨的原则,上网搜了一下,使用getContentResolver().query()来代替managedQuery(),参数还跟之前一样。

你可能感兴趣的:(Android---把Uri转换成File)