1

如何设置 zip 文件夹最佳压缩并为 Zip 文件夹设置密码,我使用的代码很少,请帮助我如何为 zip 文件夹设置最佳压缩和密码。

using (var zipStream = new MemoryStream())                    
{ 
zipFile.Save(zipStream);
zipStream.Seek(0, SeekOrigin.Begin);                        
CloudBlockBlob cblob = container.GetBlockBlobReference("MockTestZip/MT-" + this.mockExamId + ".zip");
cblob.UploadFromStream(zipStream);                        
}

我刚刚在其中添加了这两行,但密码未在 azure blob 存储的 zip 文件夹中设置

zipFile.CompressionLevel = Ionic.Zlib.CompressionLevel.BestCompression;
zipFile.Password = "encrypt";
4

1 回答 1

0

根据您的描述,我利用DotNetZip 版本 1.10.1来测试我这边的这个问题。这是关于Password财产的评论ZipFile

编写 zip 存档时,此密码应用于条目,而不是 zip 存档本身。它适用于随后添加到 ZipFile 的任何 ZipEntry,使用 AddFile、AddDirectory、AddEntry 或 AddItem 方法之一等。

根据您的情况,我假设您可以将文件存储在没有密码的 zip 文件中,然后将 zip 文件存储在带有密码的第二个外部 zip 文件中,如下所示:

using (ZipFile zipFile = new ZipFile())
{
    zipFile.CompressionLevel = Ionic.Zlib.CompressionLevel.BestCompression;
    zipFile.Password = "{your-password}";
    zipFile.AddFile(@"inner.zip",""); //Passing the empty string ("") to store your zip file at the root path within the archive.
    using (var zipStream = new MemoryStream())
    {
        zipFile.Save(zipStream);
        zipStream.Seek(0, SeekOrigin.Begin);
        CloudBlockBlob cblob = container.GetBlockBlobReference("MockTestZip/MT-" + this.mockExamId + ".zip");
        cblob.UploadFromStream(zipStream);
    }
}
于 2017-01-18T04:29:17.653 回答