gpt4 book ai didi

java - 我无法从文件中获取 Uri

转载 作者:行者123 更新时间:2023-12-01 12:30:09 24 4
gpt4 key购买 nike

我想要从文件路径获取 Uri。这是文件路径:

File path = new File(Environment.getExternalStorageDirectory().toString()+File.separator+"pic/picture.jpeg");

我尝试以这种方式检索 uri:

Uri uri = Uri.fromFile(path);

但我也尝试制作日志:Log.i("URI", "Uri dell' img "+ uri + ":");并且 uri 仍然是文件路径!不是例如:“content://...”而是“file://sdcard...”

我怎样才能得到正确的uri?谢谢

最佳答案

public File getFileFromContentUri(final Uri uri) 
{
if (uri == null || !(uri.getScheme().equals("content") || uri.toString().contains("file://"))) return null;

if (uri.getScheme().equals("content")) {
final String[] columns = new String[] {MediaStore.MediaColumns.DATA};
final Cursor cursor = getContentResolver().query(uri, columns, null, null, null);
if (cursor == null || cursor.getCount() == 0) return null;
cursor.moveToFirst();
final String path = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA));
if (path != null) return new File(path);
else return null;
}
else if (uri.toString().contains("file://")) {
return new File(uri.getPath());
}

return null;
}

关于java - 我无法从文件中获取 Uri,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25988804/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com