如何使用hdc file send文件到app缓存目录?

我想上传文件到 /data/app/el2/100/base/com.dewu.hos/haps/entry/cache这个目录进行测试。 使用hdc命令报权限错误 [Fail]Error opening file: permission denied, path:/data/app/el2/100/base/com.xxx.hos/haps/entry/cache, 请问现在有办法进行类似的测试吗。

阅读 1.1k
1 个回答

user版是没有权限向沙箱路径推取文件的。如果是单个文件,并且不大的话,可以用以下代码将文件拷贝至沙箱地址(3MB可以使用这个方法)

//需要导入的文件放在资源目录rawfile中,比如文件名为 : test.mp4
getContext(this).resourceManager.getRawFileContent('test.mp4', (_err, value) => {
  let myBuffer:ArrayBufferLike = value.buffer
  let context = getContext(this);
  //想要传入的沙箱路径
  let filePath ="/data/storage/el2/base/haps/entry/cache/test.mp4";
  console.log("testTag-filePath:" + filePath);
  let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
  let writeLen = fs.writeSync(file.fd, myBuffer);
  console.info("testTag-write data to file succeed and size is:" + writeLen);
  fs.closeSync(file);
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进