使用 dotnetzip 库压缩一个具有指定路径分隔符的文件夹,该分隔符将在 windows 和 Linux 中工作
Zip a folder with specified path separator that will work in windows and Linux using dotnetzip library
当我使用 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);
}
我找到了答案。我更改了我的代码如下,它现在可以工作了。
Ionic.Zip.ZipFile zp = new Ionic.Zip.ZipFile();
zp.AlternateEncodingUsage = ZipOption.Always;
zp.AlternateEncoding = Encoding.UTF8;
zp.AddDirectory(directoryPath, folderName);
zp.Save(zipfileWithPathAndName);
当我使用 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);
}
我找到了答案。我更改了我的代码如下,它现在可以工作了。
Ionic.Zip.ZipFile zp = new Ionic.Zip.ZipFile();
zp.AlternateEncodingUsage = ZipOption.Always;
zp.AlternateEncoding = Encoding.UTF8;
zp.AddDirectory(directoryPath, folderName);
zp.Save(zipfileWithPathAndName);