Как распаковать файл размером 40 ГБ в хранилище BLOB-объектов Azure с помощью C # - PullRequest
0 голосов
/ 13 ноября 2018

Как распаковать файл размером 40 ГБ в хранилище BLOB-объектов Azure с помощью C #?Я пытался использовать 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);
                            }

                        }
  }
...