From: joinsang Date: Sun, 3 Mar 2019 10:14:56 +0000 (+0900) Subject: 압축 페이지 완성 X-Git-Url: https://git.insang.kr/gitweb/?a=commitdiff_plain;h=e5ecd371c67de689401a085a47219ba3924f79a0;p=ZipProject.git 압축 페이지 완성 디자인 나쁘지 않다. 압축풀기 페이지 하자 --- diff --git a/ZipProject/Models/ZipModel.cs b/ZipProject/Models/ZipModel.cs index a1226aa..a543a48 100644 --- a/ZipProject/Models/ZipModel.cs +++ b/ZipProject/Models/ZipModel.cs @@ -16,24 +16,23 @@ namespace ZipProject { public ZipModel () { } public MemoryStream MakeZip (JObject keypair, string[] dirList, List files) { - MemoryStream memoryStream = new MemoryStream (); + using (var zip = new ZipFile (Encoding.UTF8)) { byte[] b = null; string filename = null; - string dir= null; + string dir = null; foreach (IFormFile file in files) { - //루프중 파일의 인덱스값 - int index= files.IndexOf(file); - dir= dirList[Int32.Parse((string)keypair[file.FileName])] +"/"; + //keypair 디렉토리 키값이 0(압축파일 최상단에 놓여야할 파일)일경우 "" 아닐경우 디렉토리명/파일 식으로 세팅 + dir = ((string) keypair[file.FileName] == "0") ? "" : dirList[Int32.Parse ((string) keypair[file.FileName])] + "/"; //시스템의 기본 인코딩 타입으로 읽어서 b = Encoding.Default.GetBytes (file.FileName); //utf8로 변환해 준다. filename = Encoding.UTF8.GetString (b); //파일을 zip엔트리에 추가 - zip.AddEntry (dir+filename, file.OpenReadStream ()); + zip.AddEntry (dir + filename, file.OpenReadStream ()); } //메모리스트림에 저장 diff --git a/ZipProject/Views/WebZip/partial_zip.cshtml b/ZipProject/Views/WebZip/partial_zip.cshtml index 0d37ac5..41403f0 100644 --- a/ZipProject/Views/WebZip/partial_zip.cshtml +++ b/ZipProject/Views/WebZip/partial_zip.cshtml @@ -7,7 +7,7 @@ margin-left: 20px; } .webzip-explore-placeholder { - margin-left: 10px; + margin-left: 20px; } .webzip-section-sidezip table tbody td{ line-height: 2; @@ -142,7 +142,7 @@ - +