HarmonyOS 从rawfile文件夹中的文件拷贝到沙盒里大小不一样

从rawfile文件夹中的文件,用fs.copyFile拷贝到沙盒中,大小都不一样

let file = context.resourceManager.getRawFdSync('video_1_1_25_25_1721659617_1721659627_0_35275624.mp4');
fs.copyFileSync(file.fd, filesDir + '/aaa.mp4')
  • 1.
  • 2.

有什么其他方法进行拷贝?

HarmonyOS
2024-12-25 15:24:37
789浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
Heiang

将MP4文件从rawfile文件夹复制到沙箱,可以使用fs.openSync -> fs.writeSync -> fs.closeSync

参考以下代码:

getMp3Test(){
  try {
    let array = this.context.resourceManager.getRawFileContentSync("test.mp3");
    // 获取应用文件路径
    let context = getContext(this) as common.UIAbilityContext;
    let filesDir = context.filesDir;
    let filePath = filesDir + '/test.mp3'
    console.log(`沙箱filePath的路径是:${filePath}`)

    // 新建并打开文件
    let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
    //写入文件
    fs.writeSync(file.fd, array.buffer);
    // 关闭文件
    fs.closeSync(file);

    //转换地址,从沙箱获取解析一下
    //let uri = fileUri.getUriFromPath(filePath);
    //console.log('地址是:'+uri)
  } catch (error) {
    let code = (error as BusinessError).code;
    let message = (error as BusinessError).message;
    console.error(`getRawFileContentSync failed, error code: ${code}, message: ${message}.`);
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
分享
微博
QQ
微信
回复
2024-12-25 18:17:32


相关问题
HarmonyOS rawfile文件拷贝到沙箱
1166浏览 • 1回复 待解决
Web组件获取高度不一样
3225浏览 • 1回复 待解决
HarmonyOS rawFile文件夹合并问题
982浏览 • 1回复 待解决
鸿蒙和安卓有什么不一样
7148浏览 • 3回复 待解决
HarmonyOS 下载文件指定文件夹
1010浏览 • 1回复 待解决
#鸿蒙通关秘籍#HSP和HAR有啥不一样
859浏览 • 1回复 待解决
HarmonyOS 拷贝文件
1137浏览 • 1回复 待解决