From: joinsang Date: Thu, 28 Mar 2019 06:41:52 +0000 (+0900) Subject: 압축하기 progress 조금 더 상세하게 (파일마다 몇퍼센트씩했는지도 추가) X-Git-Url: https://git.insang.kr/gitweb/?a=commitdiff_plain;h=a71f2147080705d80ad8bce8df9d5d21f3b5cc2d;p=ZipProject.git 압축하기 progress 조금 더 상세하게 (파일마다 몇퍼센트씩했는지도 추가) --- diff --git a/ZipProject/Controllers/WebZipController.cs b/ZipProject/Controllers/WebZipController.cs index 0a4aee5..1d07e8e 100644 --- a/ZipProject/Controllers/WebZipController.cs +++ b/ZipProject/Controllers/WebZipController.cs @@ -73,6 +73,13 @@ namespace ZipProject.Controllers { return File (file, "application/zip"); } + public ActionResult tst () { + double now = 1; + double per = 1; + now = now + (int) 1; + return Json (per == (int) 1); + } + public ActionResult Error () { return View (new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier }); } diff --git a/ZipProject/Models/ZipModel.cs b/ZipProject/Models/ZipModel.cs index 76f11d9..5b58381 100644 --- a/ZipProject/Models/ZipModel.cs +++ b/ZipProject/Models/ZipModel.cs @@ -20,7 +20,8 @@ namespace ZipProject { private JObject keypair; private string[] dirList; private List files; - private int now; + double nows; + double per; private string zipname; public ZipModel () { } @@ -62,13 +63,14 @@ namespace ZipProject { } public void SaveProgress (object sender, SaveProgressEventArgs e) { - if (e.EventType == ZipProgressEventType.Saving_BeforeWriteEntry) { - if (now != e.EntriesSaved + 1) { - now = e.EntriesSaved + 1; - SimpleLongPolling.Publish (uuid, (e.EntriesSaved + 1) + ""); - } - } else if (e.EventType == ZipProgressEventType.Saving_Completed) { + if (e.EventType == ZipProgressEventType.Saving_Completed) { //완료시 SimpleLongPolling.Publish (uuid, "-1"); + } else if (e.EventType == ZipProgressEventType.Saving_EntryBytesRead) { //진행률 + if (per != (double) (e.BytesTransferred * 100 / e.TotalBytesToTransfer) / (double) 100) { + per = (double) (e.BytesTransferred * 100 / e.TotalBytesToTransfer) / (double) 100; + nows = Math.Truncate (nows) + per; + SimpleLongPolling.Publish (uuid, nows + ""); + } } } diff --git a/ZipProject/_publish/ZipProject.dll b/ZipProject/_publish/ZipProject.dll index 29ed26c..778b88f 100644 Binary files a/ZipProject/_publish/ZipProject.dll and b/ZipProject/_publish/ZipProject.dll differ diff --git a/ZipProject/_publish/ZipProject.pdb b/ZipProject/_publish/ZipProject.pdb index 0e2a1c8..3e1529a 100644 Binary files a/ZipProject/_publish/ZipProject.pdb and b/ZipProject/_publish/ZipProject.pdb differ diff --git a/ZipProject/_publish/wwwroot/js/Zip/partial_zip.js b/ZipProject/_publish/wwwroot/js/Zip/partial_zip.js index b5be10a..3b3813a 100644 --- a/ZipProject/_publish/wwwroot/js/Zip/partial_zip.js +++ b/ZipProject/_publish/wwwroot/js/Zip/partial_zip.js @@ -296,6 +296,7 @@ function RequestCompress() { if (filesSize > maxFileSize / 2) { size = (filesSize / 1024 / 1024 / 1024).toFixed(1) + "GB"; } + size = 100; var format = "zip"; if (filesSize > maxFileSize) { diff --git a/ZipProject/wwwroot/js/Zip/partial_zip.js b/ZipProject/wwwroot/js/Zip/partial_zip.js index b5be10a..3b3813a 100644 --- a/ZipProject/wwwroot/js/Zip/partial_zip.js +++ b/ZipProject/wwwroot/js/Zip/partial_zip.js @@ -296,6 +296,7 @@ function RequestCompress() { if (filesSize > maxFileSize / 2) { size = (filesSize / 1024 / 1024 / 1024).toFixed(1) + "GB"; } + size = 100; var format = "zip"; if (filesSize > maxFileSize) {