使用指定的路径分隔符压缩文件夹,该文件夹将使用dotnetzip库在Windows和Linux中运行

时间:2017-06-05 09:04:29

标签: c# asp.net .net dotnetzip

当我使用DotNetZip压缩文件夹时,它正常工作,但是当在基于Linux的服务器中解压缩压缩文件夹时,它无法正常工作。服务器团队告诉我,虽然压缩文件使用'/'而不是'\',因为我们的系统是基于Linux的。

如何在使用DotNetZip压缩文件夹时提及路径分隔符?

以下是压缩文件夹的代码。

ZipFile zp = new ZipFile();
            zipfileName = Server.MapPath("~/folder") + @"/" + folderName + @".zip";


            if (Directory.Exists(directoryPath))
            {
                zp.AddDirectory(directoryPath, folderName);
                zp.Save(zipfileName);
            }

1 个答案:

答案 0 :(得分:1)

我找到了答案。我改变了我的代码如下,它现在正在工作。

Ionic.Zip.ZipFile zp = new Ionic.Zip.ZipFile(); 
zp.AlternateEncodingUsage = ZipOption.Always;
zp.AlternateEncoding = Encoding.UTF8;
zp.AddDirectory(directoryPath, folderName);
zp.Save(zipfileWithPathAndName);