azure - 如何使用流将大文件压缩到 blob 中

标签 azure stream zip azure-blob-storage

我正在将 Azure 与 blob 存储和 Azure Functions 结合使用。 我有很多文件,有时我想生成一个 zip,将其保存在存储中并生成一个链接。

由于我的 zip 可能很大(1 或 2 Go),我想“即时”执行此操作,这意味着在保存之前不使用所有内存:

stream on a zipentry
write to the blob
flush the stream
create next zipentry

我知道我必须在容器中使用 PutBlock() 方法,但我缺少 ICSharpZipLib 和 BlobContainer 之间的代码。

有人对此有想法吗?

最佳答案

好吧,如果我更仔细地查看文档,我就会看到该方法

blob.OpenWrite()

返回一个流:

using (ZipOutputStream zipStream = new ZipOutputStream(blob.OpenWrite()))

然后我就照常做了。

关于azure - 如何使用流将大文件压缩到 blob 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46601443/

相关文章:

c# - Azure Rest api放置blob

azure - 将 ASP.NET Core JavaScript 服务部署到 Azure 故障节点

Azure CLI 下载错误

plugins - 如何使用 Gradle Distribution 插件挑选 ZIP 内容?

c# - 无法提取 .zip 文件。获取无效数据异常

azure - App Insight 不可用,始终显示应用程序离线或 SDK 较旧

c++ - 静态持续时间如何计算?

c++ - C++0x 中没有 Unicode 流?为什么?

linux - 查看unzip -t 结果