HarmonyOS RawFile的文件如何计算md5,如何copy资源到files目录?

md5:

HarmonyOS 提供了一个 Hash.hash(filePath, "md5") 的接口可以计算文件的md5值,但是针对RawFile的资源,只能通过context.resourceManager 进行访问,由拿不到其实际的路径,该如何计算其文件的md5值呢?

copy:

同样的,如果想把RawFile的资源拷贝到files目录该如何做?

一些资源以线上的为准,但应用安装的时候会随包兜底附带,若相关资源判定为最新的(md5比较),就期望不更新了。

HarmonyOS
7天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

可先将rawfile下的文件拷贝到应用的沙箱路径,然后通过Hash.hash的接口计算文件的hash值,参考代码如下:

Text('拷贝文件到沙箱').fontSize('30vp').onClick(() => {
  getContext(this).resourceManager.getRawFileContent('img/1-beer.png', (_err, value) => {
    let myBuffer:ArrayBufferLike = value.buffer
    let context = getContext(this);
    //沙箱路径
    let filePath = context.filesDir + "/67.png";
    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);

    Hash.hash(filePath, "sha256").then((str: string) => {
      console.info("calculate file hash succeed:" + str);
    }).catch((err: BusinessError) => {
      console.error("calculate file hash failed with error message: " + err.message + ", error code: " + err.code);
    });
  });
})
分享
微博
QQ
微信
回复
7天前
相关问题
HarmonyOS 如何计算文件md5
747浏览 • 1回复 待解决
HarmonyOS 文件md5计算问题
62浏览 • 1回复 待解决
HarmonyOS 如何获取媒体资源md5信息
873浏览 • 1回复 待解决
HarmonyOS 关于求文件md5
88浏览 • 1回复 待解决
HarmonyOS MD5实现
119浏览 • 1回复 待解决
HarmonyOS 消息认证码计算是否支持MD5
50浏览 • 1回复 待解决
HarmonyOS md5进行加密
112浏览 • 1回复 待解决
HarmonyOS MD5签名
68浏览 • 1回复 待解决
HarmonyOS 关于MD5算法问题
72浏览 • 1回复 待解决
dlopen打开.so文件并使用md5加密
821浏览 • 1回复 待解决
HarmonyOS MD5加密相关demo
551浏览 • 1回复 待解决
HarmonyOS MD5加密示例
67浏览 • 1回复 待解决
如何通过uuid生成、md5、RSA、AES、 DES
1952浏览 • 1回复 待解决
HarmonyOS 如何md5变成字符串?
389浏览 • 1回复 待解决
求告知ArkTS如何获取MD5
821浏览 • 0回复 待解决
HarmonyOS 密码怎么进行MD5加密
81浏览 • 1回复 待解决
如何解决MD5加密中遇到问题
996浏览 • 1回复 待解决
MD5加密后解码结果乱码
240浏览 • 1回复 待解决