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

相关内容

热门资讯

目前!we poker辅助器v... 目前!we poker辅助器v3.3(透视)其实存在有辅助工具(有挂规律)-哔哩哔哩亲,关键说明,w...
近期!佛手在线大菠萝辅助(透视... 近期!佛手在线大菠萝辅助(透视)一贯是有辅助平台(有挂功能)-哔哩哔哩1、全新机制【佛手在线大菠萝辅...
透视挂透视!wepoker透视... 透视挂透视!wepoker透视脚本是什么(透视)切实是有辅助软件(了解有挂)-哔哩哔哩wepoker...
透视app!佛手在线有挂吗(透... 透视app!佛手在线有挂吗(透视)好像真的是有辅助安装(讲解有挂)-哔哩哔哩1、游戏颠覆性的策略玩法...
此事备受玩家关注!来玩app ... 此事备受玩家关注!来玩app 德州 辅助(透视)切实真的有辅助辅助器(有挂实锤)-哔哩哔哩来玩app...
透视规律!wpk德州局透视(透... 透视规律!wpk德州局透视(透视)总是真的是有辅助app(揭秘有挂)-哔哩哔哩1、wpk德州局透视公...
无独有偶!pokerworld... 无独有偶!pokerworld辅助器(透视)原来是有辅助插件(真的有挂)-哔哩哔哩暗藏猫腻,小编详细...
今天下午!aapoker辅助工... 您好,aapoker辅助工具安全吗这款游戏可以开挂的,确实是有挂的,需要了解加去威信【1367043...
透视辅助!wepoker有没有... 透视辅助!wepoker有没有辅助(透视)都是真的有辅助神器(有挂方针)-哔哩哔哩1)wepoker...
昨日!wepoker透视是真的... 昨日!wepoker透视是真的吗(透视)其实是有辅助安装(有挂规律)-哔哩哔哩1、不需要AI权限,帮...