From 57187ada83d313378dce4192d654994d4c37b986 Mon Sep 17 00:00:00 2001 From: cheney Date: Thu, 30 Apr 2026 17:43:09 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BE=B9=E8=AF=BB=E8=BE=B9=E5=86=99=E9=83=BD?= =?UTF-8?q?=E4=B8=8D=E5=AF=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- html/filemanager.html | 66 +++++++++++++++++++++++++++---------------- 1 file changed, 42 insertions(+), 24 deletions(-) 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; }