繁体   English   中英

Ionic Zip 无法在文件夹 C# 中压缩文件夹

[英]Ionic Zip cannot zip folder inside folder C#

我正在尝试使用 C# 中的 IonicZip 库压缩文件夹。 它可以在文件夹中压缩 .txt、.exe、.pdf 等,但不能在文件夹中压缩文件夹。

文件夹

它可以压缩 MusicLogs.txt 和 Video.exe,但不能压缩 Music 文件夹。Music 文件夹也包含一些文件夹。 即使在调试时也看不到 Music 文件夹。 我的代码是:

string zipPath = @"C:\" + DateTime.Now.ToString("yyyy-MM-dd HH-mm") + ".zip"; // zipped file extracts here
string filename = @"E:\"; // the fodler which should be zipped. File must be exist

using (ZipFile zipFile = new ZipFile())
{
    zipFile.Password = "asd";
    zipFile.Encryption = EncryptionAlgorithm.PkzipWeak;
    foreach (string file in Directory.GetFiles(filename)) // this foreach is for getting all files in a folder. 
    {
        zipFile.AddFile(file, "YESMusic"); // set file
    }

    zipFile.Save(zipPath);

}

问题出在哪儿 ? 需要更改 AddFile 函数? 谢谢

这将起作用:

using (ZipFile zipFile = new ZipFile())
{
    zipFile.Password = "asd";
    zipFile.Encryption = EncryptionAlgorithm.PkzipWeak;          
    // Adding folders in the base directory
    foreach (var item in Directory.GetDirectories(filename))
    {
        string folderName = new DirectoryInfo(item).Name;
        zipFile.AddDirectory(item, folderName);
    }
    // Adding files in the base directory
    foreach (string file in Directory.GetFiles(filename))
    {
        zipFile.AddFile(file); 
    }
    zipFile.Save(zipPath);
}

暂无
暂无

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

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