Eden 2 месяцев назад
Родитель
Сommit
1af6574ba9

+ 8 - 5
TEAMModelOS.Extension/IES.Exam/IES.ExamServer/Controllers/ManageController.cs

@@ -410,12 +410,15 @@ namespace IES.ExamServer.Controllers
                                         await Parallel.ForEachAsync(evaluationPaper.blobs, parallelOptions, async (blob, cancellationToken) =>
                                         {
                                             currCount++;
+                                            double size = Math.Round(blob.size * 1.0 / 1024 / 1024, 2);
+                                            string? fileName = Path.GetFileName(blob.path);
                                             try
                                             {
                                                 // 下载 Blob 文件到本地
                                                 //httpClient.Timeout = TimeSpan.FromSeconds(300);
+                                              
                                                 HttpResponseMessage blobMessage = await httpClient.GetAsync($"{url}/{cnt}/{blob.path}?{sas}", cancellationToken);
-                                               
+                                                
                                                 if (blobMessage.IsSuccessStatusCode)
                                                 {
                                                     byte[] bytes = await blobMessage.Content.ReadAsByteArrayAsync(cancellationToken);
@@ -429,20 +432,20 @@ namespace IES.ExamServer.Controllers
                                                         }
                                                         else
                                                         {
-                                                            string? fileName = Path.GetFileName(blob.path);
+                                                           
                                                             await System.IO.File.WriteAllBytesAsync(Path.Combine(path_paper, fileName!), bytes, cancellationToken);
                                                         }
                                                     }
 
                                                     await _signalRExamServerHub.SendMessage(_memoryCache, _logger, deviceId, Constant._Message_grant_type_download_file,
-                                new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 4, status = Constant._Message_status_success, content = $"[进度:{currCount}/{blobCount}][大小:{blob.size * 1.0 / 1024 / 1024}kb]{evaluationExam.subjectName},{evaluationPaper.paperName},{blob.path}文件下载成功。" });
+                                new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 4, status = Constant._Message_status_success, content = $"[进度:{currCount}/{blobCount}][大小:{size}kb]{evaluationExam.subjectName},{evaluationPaper.paperName},{fileName}文件下载成功。" });
                                                 }
                                                 else
                                                 {
                                                     string? error = await blobMessage.Content.ReadAsStringAsync(cancellationToken);
                                                     errorMsgs.Add($"{evaluationExam.subjectName},{evaluationPaper.paperName},{blob.path}文件下载失败,{blobMessage.StatusCode},{error}");
                                                     await _signalRExamServerHub.SendMessage(_memoryCache, _logger, deviceId, Constant._Message_grant_type_download_file,
-                                 new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 4, status = Constant._Message_status_error, content = $"[进度:{currCount}/{blobCount}][大小:{blob.size * 1.0 / 1024 / 1024}kb]{evaluationExam.subjectName},{evaluationPaper.paperName},{blob.path}文件下载失败,{blobMessage.StatusCode},{error}" }, true);
+                                 new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 4, status = Constant._Message_status_error, content = $"[进度:{currCount}/{blobCount}][大小:{size}kb]{evaluationExam.subjectName},{evaluationPaper.paperName},{fileName}文件下载失败,{blobMessage.StatusCode},{error}" }, true);
 
                                                     // Console.WriteLine($"Error downloading {blob.path},{blobMessage.StatusCode},{error}");
                                                 }
@@ -451,7 +454,7 @@ namespace IES.ExamServer.Controllers
                                             {
                                                 errorMsgs.Add($"{evaluationExam.subjectName},{evaluationPaper.paperName},{blob.path}文件下载错误,{ex.Message}");
                                                 await _signalRExamServerHub.SendMessage(_memoryCache, _logger, deviceId, Constant._Message_grant_type_download_file,
-                                 new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 4, status = Constant._Message_status_error, content = $"[进度:{currCount}/{blobCount}][大小:{blob.size * 1.0 / 1024 / 1024}kb]{evaluationExam.subjectName},{evaluationPaper.paperName},{blob.path}文件下载错误,{ex.Message}" }, true);
+                                 new MessageContent { dataId = evaluationClient.id, dataName = evaluationClient.name, messageType = Constant._Message_type_message, step = 4, status = Constant._Message_status_error, content = $"[进度:{currCount}/{blobCount}][大小:{size}kb]{evaluationExam.subjectName},{evaluationPaper.paperName},{fileName}文件下载错误,{ex.Message}" }, true);
 
                                                 // 处理异常
                                                 //Console.WriteLine($"Error downloading {blob.path}: {ex.Message}");

+ 1 - 0
TEAMModelOS.Extension/IES.Exam/IES.ExamServer/Models/SignalRClient.cs

@@ -100,6 +100,7 @@
         /// 步骤
         /// </summary>
         public int step { get; set; }
+        public int filish { get; set; }
     }
  
     public class SignalRClient