@cordova-ohos/cordova-plugin-file-md5
v0.3.3
Published
Cordova file md5 Plugin
Readme
cordova-plugin-file-md5 高效文件MD5计算插件
一款专为 Cordova/PhoneGap 混合移动应用设计的文件MD5值计算插件,基于原生平台API实现,支持本地文件、assets目录文件及远程文件(下载后计算)的MD5哈希值计算,具备计算速度快、内存占用低、跨平台兼容等特点。可广泛应用于文件完整性校验、文件唯一标识生成、断点续传校验、缓存文件管理等场景。
安装方法
确保已创建 Cordova 项目(若未创建,执行 cordova create fileMd5App com.example.filemd5app FileMd5App 创建),进入项目根目录后选择以下方式安装:
1. 基础版安装
适用于大多数场景,直接从 npm 仓库安装稳定版:
# 安装hcordova
npm install -g hcordova
# 安装最新稳定版 MD5 插件
hcordova plugin add cordova-plugin-file-md5
# 安装指定版本(示例:1.0.0 版本)
hcordova plugin add [email protected] --platform ohos2. 从 GitCode 安装开发版
适用于需要体验最新功能的开发者,从 GitHub 仓库直接安装:
# 安装开发版插件
hcordova plugin add https://gitcode.com/OpenHarmony-Cordova/cordova-plugin-file-md5.git --platform ohos4. 安装后验证
安装完成后,可通过以下命令验证插件是否安装成功:
# 查看已安装的插件列表
hcordova plugin list
# 若列表中显示 cordova-plugin-file-md5 则安装成功卸载方法
进入项目根目录,执行以下命令卸载插件,若需同时卸载依赖插件可一并执行:
# 全平台卸载
hcordova plugin remove cordova-plugin-file-md5
# 指定OHOS卸载
hcordova plugin remove cordova-plugin-file-md5 --platform ohosAPI 参考
计算本地存储(沙盒/外部存储)文件的 MD5 值,支持进度回调。
function win(md5sum){
console.log("MD5SUM: " + md5sum);
}
function fail(error){
console.log("Error-Message: " + error);
}
md5chksum.file(fileEntry, win, fail);API 使用示例
下载文件、计算md5值
function fileMd5() {
function writeFile(fileEntry, dataObj, isAppend) {
fileEntry.createWriter(function (fileWriter) {
fileWriter.onwriteend = function() {
console.log("Successful file write...");
md5chksum.file(fileEntry, function(md5Value){
document.getElementById("md5Value").innerHTML = md5Value;
}, function(errorInfo){
document.getElementById("md5Value").innerHTML = errorInfo;
});
};
fileWriter.onerror = function(e) {
console.log("Failed file write: " + e.toString());
};
fileWriter.write(dataObj);
});
}
function saveFile(dirEntry, fileData, fileName) {
dirEntry.getFile(fileName, { create: true, exclusive: false }, function (fileEntry) {
writeFile(fileEntry, fileData);
}, function(){
return;
});
}
function getSampleFile(dirEntry) {
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://cordova.apache.org/static/img/cordova_bot.png', true);
xhr.responseType = 'blob';
xhr.onload = function() {
if (this.status == 200) {
var blob = new Blob([this.response], { type: 'image/png' });
saveFile(dirEntry, blob, "downloadedImage.png");
}
};
xhr.send();
}
window.resolveLocalFileSystemURL(cordova.file.cacheDirectory, function(dirEntry) {
document.getElementById("md5Value").innerHTML = "正在下载...";
dirEntry.getDirectory("magongshou/import", {create: true}, function (dir) {
getSampleFile(dir);
},
function(){
return;
});
});
}
许可证
本插件基于 Apache License 开源,详见 LICENSE 文件。
参考资源
Android和iOS:cordova-plugin-file-md5 官方指南
GitCode 仓库:OpenHarmony-Cordova/cordova-plugin-file-md5
