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

本文关键字:用户 包含所 zip 文件 | 更新日期: 2023-09-27 18:36:58

>我有一个压缩文件并将其下载到用户机器的功能。

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

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

在压缩文件夹中,还将有"文档"文件夹和"文件夹"。我只想把文件放在那里

这是我的代码...

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

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

更改行

Zip.AddFile(name);

Zip.AddFile(name, string.Empty);

您也可以避免调用以获取文件信息。文件名数组应该足够了。