diff --git a/src/MeoAsstGui/ViewModels/VersionUpdateViewModel.cs b/src/MeoAsstGui/ViewModels/VersionUpdateViewModel.cs
index f1814ff0ab..5de5b66b46 100644
--- a/src/MeoAsstGui/ViewModels/VersionUpdateViewModel.cs
+++ b/src/MeoAsstGui/ViewModels/VersionUpdateViewModel.cs
@@ -628,6 +628,13 @@ namespace MeoAsstGui
return exit_code == 0;
}
+ ///
+ /// 使用 CSharp 原生方式下载文件
+ ///
+ /// 下载地址
+ /// 文件路径
+ /// HTTP ContentType
+ /// 是否成功
private bool DownloadFileForCSharpNative(string url, string filePath, string contentType = null)
{
// 创建 Http 请求
@@ -654,20 +661,31 @@ namespace MeoAsstGui
var responseStream = httpWebResponse.GetResponseStream();
var fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write);
- // 获取并写入流
- var byteArray = new byte[1024];
- var byteArraySize = responseStream.Read(byteArray, 0, byteArray.Length);
- while (byteArraySize > 0)
+ bool success = false;
+ try
{
- fileStream.Write(byteArray, 0, byteArraySize);
- byteArraySize = responseStream.Read(byteArray, 0, byteArray.Length);
+ // 获取并写入流
+ var byteArray = new byte[1024];
+ var byteArraySize = responseStream.Read(byteArray, 0, byteArray.Length);
+ while (byteArraySize > 0)
+ {
+ fileStream.Write(byteArray, 0, byteArraySize);
+ byteArraySize = responseStream.Read(byteArray, 0, byteArray.Length);
+ }
+ success = true;
+ }
+ catch (Exception info)
+ {
+ Console.WriteLine("Error: " + info.Message);
+ }
+ finally
+ {
+ // 关闭流
+ responseStream.Close();
+ fileStream.Close();
}
- // 关闭流
- responseStream.Close();
- fileStream.Close();
-
- return true;
+ return success;
}
private bool isStableVersion()