c#zip文件到包含所有目录的用户?

Beg*_*ner 2 .net c# zip

我有一个拉链文件并将其下载到用户机器的功能.

但是,当它压缩文件时,它们位于几个文件夹中.

例如,如果我想压缩一个名为test.doc的文件,它位于c:/ document /文件夹/ test.doc中

在压缩文件夹中也会有"document"文件夹和"文件夹".我只想要那里的文件

这是我的代码......

 public FileStreamResult DownloadDocs()
    {
        MemoryStream workStream = new MemoryStream();
        ZipFile zip = new ZipFile();
        string[] fileEntries = Directory.GetFiles(Server.MapPath(SettingManager.OnlineForms));
        foreach (string fileName in fileEntries)
        {
            FileInfo fi = new FileInfo(fileName);
            string name = Server.MapPath(SettingManager.OnlineForms + fi.Name);
            zip.AddFile(name);
        }

        zip.Save(workStream);
        workStream.Position = 0;

        FileStreamResult fileResult = new FileStreamResult(workStream, System.Net.Mime.MediaTypeNames.Application.Zip);
        fileResult.FileDownloadName = "OnlineForms.zip";

        return fileResult;
    }
Run Code Online (Sandbox Code Playgroud)

Ste*_*eve 6

改变线

Zip.AddFile(name);
Run Code Online (Sandbox Code Playgroud)

Zip.AddFile(name, string.Empty);
Run Code Online (Sandbox Code Playgroud)

你也可以避免调用获取fileinfo.文件名数组应该足够了.