在这里,我正在尝试使用dotnetzip压缩我的 azure blob 目录的内容
这是我用来执行此操作的代码。正在创建 zip 文件但已损坏。在我的 blob 容器“myfiles”中,我想创建一个名为“mymusic.zip”的 zip 文件,方法是读取 myMusic 文件夹中的所有文件和文件夹,同时在 zip 文件中保留相同的文件夹结构。以下代码创建 zip 文件,但 zip 文件已损坏。有解决此问题的建议吗?
string ofurl = @"http://myxyzstorage.blob.core.windows.net/myfiles/mymusic";
string ofBlob = @"http://myxyzstorage.blob.core.windows.net/myfiles";
dBlob = new CloudBlob(blobClient.GetBlobReference(ofBlob));
using (var zipFile = new ZipFile())
{
byte[] fileBytes = dBlob.DownloadByteArray();
using (var fileStream = new MemoryStream(fileBytes))
{
fileStream.Seek(0, SeekOrigin.Begin);
zipFile.AddEntry("myZipFiles"+".zip", fileBytes); }
var sas = ofContainer.GetSharedAccessSignature(new SharedAccessPolicy()
{
Permissions = SharedAccessPermissions.Write,
// SharedAccessExpiryTime = DateTime.UtcNow.AddSeconds(this.timeOutSeconds)
});
using (var zipStream = new MemoryStream())
{
zipFile.Save(zipStream);
zipStream.Seek(0, SeekOrigin.Begin);
var blobRef = ofContainer.GetBlobReference(ofurl);
blobRef.UploadFromStream(zipStream);
}
}
在这里使用上面的代码,我可以在我的blob(http://myxyzstorage.blob.core.windows.net/myfiles/mymusic )中看到生成的zip文件myzipfile.zip。但是当我下载并尝试解压缩时,它显示错误消息“压缩的压缩文件夹“myzipfiles.zip”无效。为什么我的 zip 文件损坏了?如何防止我的 zip 文件损坏