如何获取文件绝对路径

1.native中解封装获取视频文件的编码宽高码率等信息, 如下代码 这里filePath是绝对路径吗?

int fd = open(filePath.c_str(), O_RDONLY); 
struct stat fileStatus {}; 
size_t fileSize = 0; 
if (stat(filePath.c_str(), &fileStatus) == 0) { 
  fileSize = static_cast<size_t>(fileStatus.st_size); 
} else { 
  printf(“get stat failed”); 
  return; 
} 
// 为 fd 资源文件创建 source 资源对象, 传入 offset 不为文件起始位置 或 size 
// 不为文件大小时,可能会因不能获取完整数据导致 source 创建失败、或后续解封装失败等问题 
OH_AVSource *source = OH_AVSource_CreateWithFD(fd, 0, fileSize);

2.picker文件选择器返回的是uri,如何转成绝对路径呢?

let file:fs.File = fs.openSync(uri, fs.OpenMode.READ_ONLY);

之前有通过file.path获取到完整的绝对路径,但升级完手机系统版本后2.0.0.33,uri为 “file://media/Photo/80/VID_1706613397_056/VID_2024130_191644.mp4” file.path为/Photo/80/VID_1706613397_056

HarmonyOS
2024-05-08 21:58:48
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
一杯生椰
相关问题
HarmonyOS中如何获取资源的绝对路径
503浏览 • 1回复 待解决
文件上传的本地路径如何获取
388浏览 • 1回复 待解决
如何获取应用自身的源文件路径
2052浏览 • 1回复 待解决
如何获取profile路径下资源文件
1787浏览 • 1回复 待解决
如何获取资源文件的全路径
1902浏览 • 1回复 待解决
鸿蒙如何获取资源文件种的路径
16430浏览 • 3回复 待解决