c# - 如何使用 C# 在 Azure blob 存储中解压缩大小为 40 gb 的文件
问题描述
如何使用 C# 在 Azure blob 存储中解压缩大小为 40 GB 的文件?我尝试使用 Sharpziplib 和 ionic.zip。但我遇到了错误
错误状态(无效的块类型)
. 谁能帮帮我?
下面是我的代码
var storageAccount1 = CloudStorageAccount.Parse(connectionString1);
var blobClient = storageAccount1.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("testwwpoc");
if (share.Exists())
{
Console.WriteLine("Yes");
Console.WriteLine("Yes");
CloudFileDirectory rootDir = share.GetRootDirectoryReference();
var file = container.GetBlobReference("WAV_WW_5988.zip");
// Ensure that the file exists.
if (file.Exists())
{
using (ZipFile zipFile = ZipFile.Read(file.OpenRead()))
{
zipFile.CompressionLevel = Ionic.Zlib.CompressionLevel.Default;
//zipFile.UseZip64WhenSaving = Zip64Option.Always;
zipFile.Encryption = EncryptionAlgorithm.None;
//zipFile.BufferSize = 65536 * 19000;
zipFile.Password = "xyz";
Console.WriteLine(zipFile.Entries.Count);
//var entry = zipFile.Entries.First();
//CloudFileDirectory sampleDir = rootDir.GetDirectoryReference("WAV_WW_5988");
//foreach (var entry in zipFile.Entries)
for (var i = 1; i < zipFile.Count; i++)
{
var blob = container.GetBlockBlobReference("test/" + zipFile[i].FileName);//+ entry.FileName);
Console.WriteLine(zipFile[i].FileName);
Console.WriteLine(zipFile[i].UncompressedSize);
try
{
blob.UploadFromStream(zipFile[i].OpenReader());
}
catch(Exception ex)
{
Console.WriteLine(ex);
}
}
}
解决方案
推荐阅读
- python - PyObject_CallMethod 返回 -1
- r - 训练和测试数据在 r 中拆分,但不是随机拆分
- ajax - HTTP Cache-Control 标头仅适用于 localhost
- azure - 如何将本地文件加载到 Azure SQL DB
- mqtt - MQTT Broker 在我发送连接数据包时关闭连接
- python - 熊猫,在字符串中打印变量
- javascript - 分配给数组中的随机颜色时出现ExpressionChangedAfterItHasBeenChecked错误?
- c# - 返回 ContentType PDF 的 ActionResult 后,Microsoft Edge 注销用户
- java - 将表从源数据库复制到同一主机系统上的目标数据库 (java.lang.OutOfMemoryError)
- docker - Docker - 连接到端口 2375 时出错