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 });
}
private JObject keypair;
private string[] dirList;
private List<IFormFile> files;
- private int now;
+ double nows;
+ double per;
private string zipname;
public ZipModel () { }
}
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 + "");
+ }
}
}