2

在这里,我正在尝试使用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 文件损坏

4

0 回答 0