在azure blob容器中生成zip文件 - 忘记了损坏

时间:2013-09-24 15:59:10

标签: c# azure azure-storage azure-table-storage

这里我试图使用dotnetzip

压缩我的azure blob目录的内容

以下是我用来执行此操作的代码。 zip文件正在创建但已损坏。 在我的blob容器'myfiles'中,我想通过读取myMusic文件夹中的所有文件和文件夹来创建名为“mymusic.zip”的zip文件,同时在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).But里面看到生成的zip文件myzipfile.zip,当我下载并尝试解压缩时,它显示错误消息“压缩的压缩文件夹” myzipfiles.zip“无效。为什么我的zip文件被破坏了?如何防止我的zip文件被破坏

0 个答案:

没有答案