C#创建ZIP文件

C#创建ZIP文件,c#,asp.net,C#,Asp.net,我使用IonicZip在C#中创建上传文件的Zip文件,我遵循了 一切正常,但当我打开创建的Zip时,它的文件夹结构就像我的C#项目的整个路径一样 例如,如果我的项目位于C:\Users\Admin\Documents\visualstudio 2010\Projects\ZipUploadTest\ZipUploadTest 它像拉链一样 User > Admin> Documents> visual studio 2010>Projects > Zipuploa

我使用IonicZip在C#中创建上传文件的Zip文件,我遵循了

一切正常,但当我打开创建的Zip时,它的文件夹结构就像我的C#项目的整个路径一样

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

它像拉链一样

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"));
            }
        }

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

zip.AddFile(filename, ""); 

有关更多信息,请参阅。

是否愿意分享您目前正在使用的代码,或者我们是否需要猜测?几小时前您发布了一个非常类似的问题:。你为什么不改进原来的问题?@SteveB那个问题是另一个问题,我问的是如何实现这个功能,我得到了他们的答案,但它被删除了Hanks伙计,它成功了