diff --git a/html/filemanager.html b/html/filemanager.html
index d95b9ce..3b25ad9 100644
--- a/html/filemanager.html
+++ b/html/filemanager.html
@@ -159,8 +159,8 @@
var len = '000000' + datalen
len = len.substr(len.length - 6)
- writeData(app, filename, 0, datalen + 3, len+data)
- PrintInfo("写入成功");
+ writeData(app, filename, 0, datalen + 3, (len+data).toUpperCase())
+ PrintInfo("写入成功 File");
} catch (e) {
PrintInfo(e.message);
}
@@ -181,12 +181,28 @@
}
function writeData(app, filename, offset, datalen, data) {
- if (datalen <= 1000) {
+ var block = 512;
+ if (datalen <= block) {
SKFKEY.SKF_WriteFile(app, filename, offset, datalen, data);
} else {
- // 先写入 1000
- SKFKEY.SKF_WriteFile(app, filename, offset, 1000, data.substr(0, 2000));
- writeData(app, filename, offset + 1000, datalen - 1000, data.substr(2000))
+ // 先写入 block
+ var cdata = data.substr(0, block * 2)
+ SKFKEY.SKF_WriteFile(app, filename, offset, block, cdata);
+
+
+ // 检查
+ var result = SKFKEY.SKF_ReadFile(app, filename, offset, block);
+ if(result == cdata){
+ PrintInfo("写入成功" + offset);
+ } else {
+ PrintInfo("写入失败" + offset);
+ PrintInfo("写入" + cdata);
+ PrintInfo("读取" + result);
+ }
+
+ setTimeout(() => {
+ writeData(app, filename, offset + block, datalen - block, data.substr(block * 2))
+ }, 1000);
}
}
@@ -224,29 +240,31 @@
// }
// }
function readData(app, filename, offset, datalen) {
- // 最终结果
- let result = '';
- // 每次最大读取长度
- const MAX_READ = 1000;
+ let result = SKFKEY.SKF_ReadFile(app, filename, offset, readLen);
- // 循环分段读取(比递归更安全、更易读)
- while (datalen > 0) {
- // 本次读取长度:取 2000 和剩余长度的较小值
- const readLen = Math.min(MAX_READ, datalen);
+ // // 最终结果
+ // let result = '';
+ // // 每次最大读取长度
+ // const MAX_READ = 1000;
- // 读取一段数据
- const chunk = SKFKEY.SKF_ReadFile(app, filename, offset, readLen);
+ // // 循环分段读取(比递归更安全、更易读)
+ // while (datalen > 0) {
+ // // 本次读取长度:取 2000 和剩余长度的较小值
+ // const readLen = Math.min(MAX_READ, datalen);
- // 拼接到结果
- result += chunk;
+ // // 读取一段数据
+ // const chunk = SKFKEY.SKF_ReadFile(app, filename, offset, readLen);
- // 偏移量前进
- offset += readLen;
- // 剩余长度减少
- datalen -= readLen;
- }
+ // // 拼接到结果
+ // result += chunk;
- // 最终返回完整数据
+ // // 偏移量前进
+ // offset += readLen;
+ // // 剩余长度减少
+ // datalen -= readLen;
+ // }
+
+ // // 最终返回完整数据
return result;
}