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;
}

相关内容

热门资讯

分享实测!模拟器打开hhpok... 分享实测!模拟器打开hhpoker,哈糖大菠萝怎么挂,靠谱教程(原来是有挂)-哔哩哔哩相信很多朋友都...
透视脚本!wejoker开挂,... 透视脚本!wejoker开挂,wepoker正确养号方法,总结教程(其实真的是有挂)-哔哩哔哩相信很...
透视辅助!大菠萝免费辅助器,x... 透视辅助!大菠萝免费辅助器,xpoker透视辅助,细节揭秘(果然是有挂)-哔哩哔哩;1.大菠萝免费辅...
透视工具!购买的wpk辅助在哪... 透视工具!购买的wpk辅助在哪里下载,hhpoker哪个俱乐部靠谱,分享教程(一贯是有挂的)-哔哩哔...
透视规律!wepoker私人局... 透视规律!wepoker私人局开挂视频,德扑圈有透视吗,必胜教程(原来是有挂的)-哔哩哔哩;wepo...
揭秘一下!wepoker有没有... 揭秘一下!wepoker有没有机器人,hhpoker脚本下载,必赢教程(其实是有挂的)-哔哩哔哩;详...
透视科技!竞技联盟辅助,wep... 透视科技!竞技联盟辅助,wepoker祈福有用吗,解密教程(一贯是有挂的)-哔哩哔哩;wepoker...
重磅来袭!拱趴大菠萝机器人,x... 重磅来袭!拱趴大菠萝机器人,xpoker怎么辅助,微扑克教程(其实真的有挂)-哔哩哔哩;1、这是跨平...
交流学习经验!wpk模拟器是什... 交流学习经验!wpk模拟器是什么,uupoker透视,科技教程(原来是有挂的)-哔哩哔哩;一、wpk...
程序员教你!we poker插... 程序员教你!we poker插件,aapoker真的假的,我来教教你(原来真的是有挂)-哔哩哔哩;人...