C#创建ZIP文件

时间:2013-07-03 11:53:24

标签: c# asp.net

我使用IonicZip在C#中创建上传文件的Zip文件,我跟着this

每件事情都运行正常但是当我打开创建的Zip时,它的文件夹Struture就像我的C#项目的整个路径

例如,如果我的项目位于C:\Users\Admin\Documents\visual studio 2010\Projects\ZipUploadTest\ZipUploadTest

它使Zip像

User > Admin> Documents> visual studio 2010>Projects > ZipuploadTest > MyFolderwhere I am saving Zip file

我想用我的文件名制作Zip,即当我打开Zip文件时,它会直接显示我的文件 这就是我创建Zip文件的方式

 private void MakeZip(string fname)
        {
            using (ZipFile zip = new ZipFile())
            {
                string pathname = Server.MapPath("~/FileUpload/ZipFile/");
                string[] filenames = Directory.GetFiles(pathname);

                 foreach (string filename in filenames)
                 {             

                ZipEntry e = zip.AddFile(filename);                
                  }                
                zip.Save(Server.MapPath("~/Zips/abc.zip"));
            }
        }

1 个答案:

答案 0 :(得分:1)

将文件添加到ZIP存档时,请提供第二个参数,用于标识要将文件放入的目录:

zip.AddFile(filename, ""); 

有关详细信息,请参阅the documentation