繁体   English   中英

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

[英]DotNetZip in C# webapp - how to change the name of the zip folder structure

这是我的应用程序中的代码

 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 文件,该文件具有简化的文件夹结构(即一个文件夹),写为 output。

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

任何人都可以帮忙吗?

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

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

“。” 表示不允许嵌套文件夹或仅在当前文件夹上使用 zip!

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM