native层如何访问rawfile的二进制文件

native层如何访问rawfile的二进制文件

HarmonyOS
2024-01-30 19:50:37
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
choua

1. ts层通过napi接口传入resourceManager,示例代码:

let resourceManager = getContext(this).resourceManagerawait; 
napiTest.openRawfile(resourceManager); 

2. napi获取ts层resourceManager创建NativeResourceManager并读取resource/rawfile二进制文件,参考代码如下:

static napi_value OpenRawFile(napi_env env, napi_callback_info info) { 
    size_t argc = 1; 
    napi_value args[1] = {nullptr}; 
    napi_get_cb_info(env, info, &argc, args, nullptr, nullptr); 
 
    NativeResourceManager *nativeRm = OH_ResourceManager_InitNativeResourceManager(env, args[0]); 
    RawFile *rawFile = OH_ResourceManager_OpenRawFile(nativeRm, "your rawfile name"); 
    RawFileDescriptor descriptor; 
    bool b = OH_ResourceManager_GetRawFileDescriptor(rawFile, descriptor); 
 
    napi_value napi_value_size; 
    napi_create_int32(env, descriptor.length, &napi_value_size); 
 
    return napi_value_size; 
}
分享
微博
QQ
微信
回复
2024-02-01 00:10:47
相关问题
如何直接加载二进制图片?
402浏览 • 1回复 待解决
Preview是否支持读取rawfile文件
238浏览 • 1回复 待解决
Native文件所在路径
124浏览 • 1回复 待解决
apache下文件夹没有访问权限
453浏览 • 0回复 待解决
鸿蒙如何访问华为云对象存储?
1926浏览 • 1回复 待解决
如何动态访问media目录下资源
71浏览 • 1回复 待解决
Native如何通过napi获取ArrayBuffer?
801浏览 • 1回复 待解决
如何用redis/memcache做缓存
467浏览 • 1回复 待解决