使用DotNetZip压缩文件

时间:2014-04-29 07:03:31

标签: c# dotnetzip

我正在尝试从用户压缩和加密所选文件。一切正常,除了我正在压缩整个路径,即文件本身。下面是我的代码,有关如何在所选文件上进行压缩和加密的任何帮助。

openFileDialog1.ShowDialog();
var fileName = string.Format(openFileDialog1.FileName);
string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);

using (ZipFile zip = new ZipFile())
{
    zip.Password = "test1";
    zip.Encryption = EncryptionAlgorithm.WinZipAes256;
    zip.AddFile(fileName);
    zip.Save(path + "\\test.ZIP");
    MessageBox.Show("File Zipped!", "Complete", MessageBoxButtons.OK, MessageBoxIcon.Information);
}

2 个答案:

答案 0 :(得分:2)

您必须为zip-archive显式设置文件名:

zip.AddFile(fileName).FileName = System.IO.Path.GetFileName(fileName);

答案 1 :(得分:1)

这是压缩文件的方法,并在存档中重命名。提取后,将使用新名称创建文件。

using (ZipFile zip1 = new ZipFile())
{
   string newName= fileToZip + "-renamed";
   zip1.AddFile(fileToZip).FileName = newName; 
   zip1.Save(archiveName);
}

参考:C# Examples