HarmonyOS鸿蒙Next中上传图片路径转换dataability:///media/external/images/media/30为/storage/emulated/0/DCIM/YIIoT/5769014/20220516162557036.jpg
HarmonyOS鸿蒙Next中上传图片路径转换dataability:///media/external/images/media/30为/storage/emulated/0/DCIM/YIIoT/5769014/20220516162557036.jpg
//获取图片对应的uri,由于获取到的前缀是content,我们替换成对应的dataability前缀
Uri uri = Uri.appendEncodedPathToUri(AVStorage.Images.Media.EXTERNAL_DATA_ABILITY_URI, chooseImgId);
private static String searchImages(Context context, Uri contentUri) {
DataAbilityHelper helper = DataAbilityHelper.creator(context);
ResultSet resultSet = null;
try {
resultSet = helper.query(contentUri, new String[]{AVStorage.Images.Media.ID, AVStorage.Images.Media.DISPLAY_NAME, AVStorage.Images.Media.DATA}, null);
int columnIndexForName = resultSet.getColumnIndexForName(AVStorage.Images.Media.DATA);
resultSet.goToFirstRow();
return resultSet.getString(columnIndexForName);
} catch (DataAbilityRemoteException e) {
e.printStackTrace();
} finally {
if (resultSet != null) {
resultSet.close();
}
}
return null;
}
更多关于HarmonyOS鸿蒙Next中上传图片路径转换dataability:///media/external/images/media/30为/storage/emulated/0/DCIM/YIIoT/5769014/20220516162557036.jpg的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,dataability:///media/external/images/media/30
是一个URI(统一资源标识符),用于标识媒体库中的特定资源。要将该URI转换为文件系统中的实际路径 /storage/emulated/0/DCIM/YIIoT/5769014/20220516162557036.jpg
,可以使用鸿蒙提供的 DataAbilityHelper
和 FileDescriptor
来实现。
具体步骤如下:
- 使用
DataAbilityHelper
获取FileDescriptor
:
let dataAbilityHelper = dataAbility.createDataAbilityHelper(context);
let fd = await dataAbilityHelper.openFile(uri, "r");
- 通过
FileDescriptor
获取文件路径:
let filePath = fd.getPath();
- 最终得到的
filePath
即为文件系统中的实际路径/storage/emulated/0/DCIM/YIIoT/5769014/20220516162557036.jpg
。
需要注意的是,dataability:///media/external/images/media/30
是媒体库中的URI,而 /storage/emulated/0/DCIM/YIIoT/5769014/20220516162557036.jpg
是文件系统中的路径。转换过程依赖于鸿蒙系统的API,确保应用具有相应的权限。
更多关于HarmonyOS鸿蒙Next中上传图片路径转换dataability:///media/external/images/media/30为/storage/emulated/0/DCIM/YIIoT/5769014/20220516162557036.jpg的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,dataability://
路径是用于访问DataAbility的URI格式,而/storage/emulated/0/DCIM/YIIoT/5769014/20220516162557036.jpg
是文件系统的实际路径。要将dataability:///media/external/images/media/30
转换为文件系统路径,通常需要通过DataAbility的API进行查询,获取对应的文件路径。具体实现可以参考HarmonyOS的DataAbility开发文档,使用query
方法获取文件信息,再从中提取实际路径。