Android10中,从图片URI获取文件路径无法真正实现。
创始人
2024-08-20 09:00:57
0

在Android 10及以上版本中,无法直接从图片URI获取其真实的文件路径。可以使用以下代码示例中的方法,将图片文件先复制到应用程序专有目录的缓存目录中,然后再操作该文件。

private String getFilePathFromUri(Context context, Uri uri) {
    String fileName = getFileName(uri);
    File cacheDir = context.getCacheDir();
    File file = new File(cacheDir, fileName);

    try (InputStream inputStream = context.getContentResolver().openInputStream(uri);
         OutputStream outputStream = new FileOutputStream(file)) {

        byte[] buffer = new byte[4 * 1024];
        int read;
        while ((read = inputStream.read(buffer)) != -1) {
            outputStream.write(buffer, 0, read);
        }
        outputStream.flush();

    } catch (IOException e) {
        e.printStackTrace();
    }

    return file.getAbsolutePath();
}

private String getFileName(Uri uri) {
    String fileName = "";
    Cursor cursor = getContentResolver().query(uri, null, null, null, null);
    if (cursor != null && cursor.moveToFirst()) {
        fileName = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
        cursor.close();
    }
    return fileName;
}

相关内容

热门资讯

透视系统“雀友圈斗地主辅助器”... 大家好,今天小编来为大家解答雀友圈斗地主辅助器这个问题咨询软件客服可以免费测试直接加微信(13670...
每日必看推荐“wepoker透... 每日必看推荐“wepoker透视底牌”开挂(透视)辅助软件大神讲解(有挂方式) >>您好:软件加薇1...
一分钟了解“xpoker辅助器... 一分钟了解“xpoker辅助器”开挂(透视)辅助脚本详细教程(存在有挂)1、下载安装好xpoker辅...
实操分享“衢州都莱有没有挂”开... 实操分享“衢州都莱有没有挂”开挂(透视)辅助下载解说技巧(有挂功能)衢州都莱有没有挂ai黑科技系统规...
如何分辨真伪“广东雀神胜率修改... 如何分辨真伪“广东雀神胜率修改”开挂(透视)辅助下载爆料教程(有挂实锤);无需打开直接搜索打开薇:1...
透视总结“h5大厅反杀”开挂(... 透视总结“h5大厅反杀”开挂(透视)辅助工具安装教程(新版有挂);无需打开直接搜索微信(136704...
安装程序教程“四川皮皮辅助”开... 安装程序教程“四川皮皮辅助”开挂(透视)辅助神器曝光教程(有挂透视)【无需打开直接搜索加薇13670...
一分钟揭秘“掌电竞技辅助工具”... 一分钟揭秘“掌电竞技辅助工具”开挂(透视)辅助透视透视教程(有挂教程)>>您好:软件加1367043...
一分钟了解“财神13张辅助器下... 财神13张辅助器下载是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加...
一分钟了解“龙岩闲游安卓脚本”... 一分钟了解“龙岩闲游安卓脚本”开挂(透视)辅助下载可靠教程(有挂透视)龙岩闲游安卓脚本ai黑科技系统...