From 3796d0ce331eed66c4e5e9328b92c06720fe6d76 Mon Sep 17 00:00:00 2001 From: yuqucheng <> Date: Wed, 22 Jul 2026 14:25:30 +0800 Subject: [PATCH] =?UTF-8?q?fix(network):=20=E4=BF=AE=E5=A4=8D=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=B8=8B=E8=BD=BD=E6=9C=AA=E6=A0=A1=E9=AA=8C=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加对下载数据的空值和长度校验,下载失败时打印错误日志并返回false,同时避免写入空数据 --- Assets/Scripts/Network/NetworkCtrl.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Assets/Scripts/Network/NetworkCtrl.cs b/Assets/Scripts/Network/NetworkCtrl.cs index 718a2ea..7800763 100644 --- a/Assets/Scripts/Network/NetworkCtrl.cs +++ b/Assets/Scripts/Network/NetworkCtrl.cs @@ -663,7 +663,14 @@ namespace Kill.Network if (webRequest.result == UnityWebRequest.Result.Success) { - File.WriteAllBytes(savePath, webRequest.downloadHandler.data); + byte[] data = webRequest.downloadHandler?.data; + if (data == null || data.Length == 0) + { + Debug.LogError($"下载文件内容为空 {url} (尝试 {i + 1}/{maxRetries + 1})"); + return false; + } + + File.WriteAllBytes(savePath, data); string actualMd5 = CalculateMD5(savePath); if (actualMd5.ToLower() == expectedMd5.ToLower())