2016-06-15 6 views
1

나는 홈 폴더라는 루트 폴더가있는 폴더 구조를 가지고있다. 홈 폴더에 3 개의 하위 폴더와 5 개의 파일이 있습니다. ionic.zip을 사용할 때이 Home 폴더의 모든 파일을 압축 할 수 있습니다. 그러나 나는 같은 폴더 구조를 유지할 수 없다.asp.net에서 압축하는 동안 하위 폴더를 포함하는 방법?

string[] filePaths = Directory.GetFiles("filepath","*",SearchOption.AllDirectories); 
if (filePaths.Length > 0) 
{ 
    foreach (string fileURl in filePaths) 
    { 
     zip.AddFile(fileURl, "VisaFiles");    
    } 
} 

답변

0

당신은 당신이 참조에 System.IO.Compression.FileSystem.dll을 포함해야합니다 ZipFile를 클래스 System.IO.Compression.FileSystem

class Program 
{ 
    static void Main(string[] args) 
    { 
     string startPath = @"c:\example\start"; 
     string zipPath = @"c:\example\result.zip"; 
     string extractPath = @"c:\example\extract"; 

     ZipFile.CreateFromDirectory(startPath, zipPath, CompressionLevel.Fastest,true); 

     ZipFile.ExtractToDirectory(zipPath, extractPath); 
    } 
} 

를 사용할 수 있습니다.

+0

@ Abid- 내 로컬 컴퓨터에이 파일을 다운로드해야하므로 대상 경로를 지정하는 것이 얼마나 좋은지 알 수 있습니다. 다운로드를 클릭하면 압축 된 폴더가 나타납니다. –