C#学习教程:在azureblob存储中就地创建zip文件我需要在第二个容器中创建一个zip文件,其中包含第一个容器中的文件。我有一个使用辅助角色和DotNetZip的解决方案,但由于zip文件最终可能达到1GB,我担心对所有正在进行的工作使用MemoryStream对象并不是最好的方法。我主要关心的是内存使用和资源释放,因为这个过程一天可能发生几次。下面是一些非常简化的代码,显示了工作者角色的基本过程:using(ZipFilezipFile=newZipFile()){byte[]fileBytes=blob.DownloadByteArray();使用(varfileStream=newMemoryStream(fileBytes)){fileStream.Seek(0,SeekOrigin.Begin);byte[]bytes=CryptoHelp.EncryptAsBytes(fileStream,"密码",null);zipFile.AddEntry("条目名称",bytes);}}使用(varzipStream=newMemoryStream()){zipFile.Save(zipStream);zipStream.Seek(0,SeekOrigin.Begin);varblobRef=ContainerDirectory.GetBlobReference("输出uri");blobRef.UploadFromStream(zipStream);有人可以提出更好的方法吗?在撰写此问题时,我并不知道Azure中提供了LocalStorage选项。我能够单独写入文件并在LocalStorage中使用它们,然后将它们写回blob存储。如果你担心你的memorysteam会占用太多内存,你可以做的是实现你自己的流,当你的流被读取时,你将zip文件添加到流中并从流中删除读取的文件。这将使您的内存流大小保持文件大小。以上就是C#学习教程:原位创建zip文件在azureblobstorage中共享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
