OpenHarmony开发者论坛

标题: 无法获取应用资源文件rawfile下的内容,错误"GetStringById failed state" [打印本页]

作者: Summer    时间: 2023-8-28 20:13
标题: 无法获取应用资源文件rawfile下的内容,错误"GetStringById failed state"
[md]【问题描述】

在OpenHarmony Stage应用模型中,参考文档https://docs.openharmony.cn/pages/v3.2/zh-cn/application-dev/quick-start/resource-categories-and-access.md/   希望获取resource下的aaa.proto文件的内容

```
try {
  getContext(this).resourceManager.getStringValue($rawfile('aaa.proto').id).then(value => {
    let str = value;
    console.log("aaaa:" + value)
  }).catch(error => {
    console.log("aaaa getStringValue promise error is " + JSON.stringify(error));
  });
} catch (error) {
  console.error(`aaaa promise getStringValue failed, error code: ${error.code}, message: ${error.message}.`)
}
```

希望:获取并打印出aaa.proto文件的内容

实际:打印出aaaa getStringValue promise error is {"code":9001001,"message":"GetStringById failed state"}

【运行环境】

设备:rk3568 ROM:3.2Release api9   DevecoStudio: 3.1 Beta2(3.1.0.400)
[/md]
作者: HmD    时间: 2023-8-28 20:23
resourceManager的getStringValue是用于获取string.json字符串的资源的,rawfile的获取有rawfile的相关接口,互不相关,且文档中两个接口也并没有放一起,rawfile目录不限文件类型,也可放置图片,音、视频,返回的是Uint8Array.

可以是用文档https://docs.openharmony.cn/page ... ries-and-access.md/ 里的资源管理getRawFd接口,获取resources/rawfile目录下对应rawfile文件的descriptor,然后使用@ohos.fileio的readSync读取内容





欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5