C#webapp中的DotNetZip-如何更改zip文件夹结构的名称

C#webapp中的DotNetZip-如何更改zip文件夹结构的名称,c#,dotnetzip,C#,Dotnetzip,这是我应用程序中的代码 Response.ContentType = "application/zip"; Response.AddHeader("content-disposition", "filename=" + "filename.zip"); using (ZipFile zip = new ZipFile()) { zip.AddEntry(@"F:\My Pictures\20

这是我应用程序中的代码

 Response.ContentType = "application/zip";
            Response.AddHeader("content-disposition", "filename=" + "filename.zip");
            using (ZipFile zip = new ZipFile())
            {
                zip.AddEntry(@"F:\My Pictures\2011\DSC04854.jpg", @"\");
                zip.AddEntry(@"F:\My Pictures\2011\DSC04854.jpg", @"\");
                zip.AddEntry(@"F:\My Pictures\2011\DSC04854.jpg", @"\");
                zip.Save(Response.OutputStream);
            }
            Response.Close();
我想创建一个具有简化文件夹结构(即一个文件夹)的zip文件,并将其作为输出写入

我已经看到了一些类似问题的答案,我尝试了许多建议,但我没有得到预期的结果。此代码生成一个具有完整文件夹结构的zip文件


有人能帮忙吗?

您正在使用AddEntry,您需要的是AddFile;AddFile的第二个参数(当是字符串时)是内部目录。

如果使用的是AddEntry,则需要的是AddFile;AddFile的第二个参数(当是字符串时)是内部目录。

将条目添加到Zip时,第二个参数可以保留为空,以将文件放在文件夹的根目录中

zip.AddEntry(link_to_file.format, string.Empty);

将条目添加到Zip时,第二个参数可以保留为空,以将文件放在文件夹的根目录中

zip.AddEntry(link_to_file.format, string.Empty);

我也遇到了同样的问题,但是使用
zip.AddFiles(filepath)
仍然可以创建完整的分层zip文件。我遇到了另一个简单解决这个问题的过载。只需使用:
zip.AddFiles(文件路径,false,“.”
第二个参数是>保留层次结构 第三个参数是您只想用来生成zip文件的结构。使用

“.”表示不允许嵌套文件夹或仅在当前文件夹上压缩


我也遇到了同样的问题,但是使用
zip.AddFiles(filepath)
仍然可以创建完整的分层zip文件。我遇到了另一个简单解决这个问题的过载。只需使用:
zip.AddFiles(文件路径,false,“.”
第二个参数是>保留层次结构 第三个参数是您只想用来生成zip文件的结构。使用

“.”表示不允许嵌套文件夹或仅在当前文件夹上压缩