C#Ionic.Zip文件,出现多级目录 解决方案目录 对的 错
====================================================== 代码 谁能帮我? 谢谢 看着电话,我怀疑你想打电话C#Ionic.Zip文件,出现多级目录 解决方案目录 对的 错,c#,zip,C#,Zip,====================================================== 代码 谁能帮我? 谢谢 看着电话,我怀疑你想打电话 zip.AddFiles(arrFileName, false, ""); 这样就不会保留目录层次结构。有可能只是 zip.AddFiles(arrFileName, ""); 也会起作用;我不太清楚 (此外,我强烈建议您去掉方法中的try/catch块-这比无用更糟糕,因为它只会丢失信息。如果在任何ZipFile方法中引发异常,您
zip.AddFiles(arrFileName, false, "");
这样就不会保留目录层次结构。有可能只是
zip.AddFiles(arrFileName, "");
也会起作用;我不太清楚
(此外,我强烈建议您去掉方法中的
try
/catch
块-这比无用更糟糕,因为它只会丢失信息。如果在任何ZipFile
方法中引发异常,您将由于重新引发异常的方式而丢失完整的堆栈跟踪。)非常感谢。zip.AddFiles(文件名“”);工作正常。我从方法中删除了try/catch块。
E:\WebSolution\GenerateFiles
| NEW HOTEL-4-64-1379.pdf
| NEW HOTEL-4-64-1379.xls
| NEW HOTEL-4-64-1379.zip (Extract)
|WebSolution
|--|GenerateFiles
|--|--|NEW HOTEL-4-64-1379.pdf
|--|--|NEW HOTEL-4-64-1379.xls
public void Main(){
string path=Server.MapPath("~/GenerateFiles");
string zipPackageFileName=System.IO.Path.Combine(path,"NEW HOTEL-4-64-1379.zip");
string[] arrFileName=new string[]{
System.IO.Path.Combine(path,"NEW HOTEL-4-64-1379.pdf"),
System.IO.Path.Combine(path,"NEW HOTEL-4-64-1379.pdf")
};
CompressFilesToZip(arrFileName,zipPackageFileName);
}
using Ionic.Zip;
public void CompressFilesToZip(String[] arrFileName, string zipPackageFileName)
{
try
{
using (ZipFile zip = new ZipFile())
{
zip.AddFiles(arrFileName);
zip.Encryption = EncryptionAlgorithm.WinZipAes256;
zip.CompressionLevel = Ionic.Zlib.CompressionLevel.BestCompression;
zip.Password = PASSWORD_ATTACHMENT;
zip.Save(zipPackageFileName);
}
}
catch (Exception e)
{
throw e;
}
}
zip.AddFiles(arrFileName, false, "");
zip.AddFiles(arrFileName, "");