gpt4 book ai didi

c# - 在 azure blob 存储中设置 Ionic Zip 密码,并为 zip 文件夹而不是文件设置最佳压缩

转载 作者:行者123 更新时间:2023-12-03 04:27:19 25 4
gpt4 key购买 nike

如何设置 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";

最佳答案

根据你的描述,我杠杆DotNetZip version 1.10.1在我这边测试这个问题。这是关于 ZipFile 中的 Password 属性的注释:

When writing a zip archive, this password is applied to the entries, not to the zip archive itself. It applies to any ZipEntry subsequently added to the ZipFile, using one of the AddFile, AddDirectory, AddEntry, or AddItem methods, etc.

根据您的情况,我假设您可以将文件存储在没有密码的 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);
}
}

关于c# - 在 azure blob 存储中设置 Ionic Zip 密码,并为 zip 文件夹而不是文件设置最佳压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41693641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com