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')

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

HarmonyOS
1天前
浏览
收藏 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}.`);
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
Web组件获取高度不一样
2322浏览 • 1回复 待解决
HarmonyOS rawFile文件夹合并问题
49浏览 • 1回复 待解决
鸿蒙和安卓有什么不一样
6483浏览 • 3回复 待解决
#鸿蒙通关秘籍#HSP和HAR有啥不一样
144浏览 • 1回复 待解决
有谁知道如何获取文件夹大小
1303浏览 • 1回复 待解决
打包包含ohosTest文件夹和test文件夹
456浏览 • 1回复 待解决