Ошибка при загрузке больших файлов в Azure из С#, выдает сообщение «Указанный черный список недействителен». ⇐ C#
-
Anonymous
Ошибка при загрузке больших файлов в Azure из С#, выдает сообщение «Указанный черный список недействителен».
Я хочу загрузить большие двоичные объекты в контейнер Azure с помощью C#. Я разбиваю капли на куски в своем пользовательском интерфейсе (угловом) и для каждого куска вызываю свой API С#. Это хорошо работает для небольших файлов. Но для больших файлов (даже 130 МБ) файл не загружается полностью, и API выдает ошибку «Указанный черный список недействителен».
[HttpPost("{fileName}")] общедоступная асинхронная задача UploadChunk (строка fileName, чанк List) { если (chunk.Count == 0) { return BadRequest("По запросу не получен файл"); } если (chunk.Count > 1) { return BadRequest("Запрос содержит более одного файла. Одновременно можно загрузить только один файл"); } вар blockBlobClient = blobContainerClient.GetBlockBlobClient(fileName); if (!await blockBlobClient.ExistsAsync()) { ждут blockBlobClient.UploadAsync (новый MemoryStream()); } буфер байт[] = новый байт[кусок[0].Длина]; await chunk[0].OpenReadStream().ReadAsync(buffer, 0, buffer.Length); вар blockId = Guid.NewGuid().ToString(); вар blockIdBytes = Encoding.UTF8.GetBytes(blockId); вар base64BlockId = Convert.ToBase64String(blockIdBytes); ждут blockBlobClient.StageBlockAsync(base64BlockId, новый MemoryStream(буфер)); вар BlockList = ждут BlockBlobClient.GetBlockListAsync(BlockListTypes.All); var totalBlockCount = blockList.Value.CommitedBlocks.Count() + blockList.Value.UncommitedBlocks.Count(); // Эта строка только что вернула 14 блоков ждут blockBlobClient.CommitBlockListAsync(blockList.Value.UncommitedBlocks.Select(block => block. Name).ToList()); }
Я хочу загрузить большие двоичные объекты в контейнер Azure с помощью C#. Я разбиваю капли на куски в своем пользовательском интерфейсе (угловом) и для каждого куска вызываю свой API С#. Это хорошо работает для небольших файлов. Но для больших файлов (даже 130 МБ) файл не загружается полностью, и API выдает ошибку «Указанный черный список недействителен».
[HttpPost("{fileName}")] общедоступная асинхронная задача UploadChunk (строка fileName, чанк List) { если (chunk.Count == 0) { return BadRequest("По запросу не получен файл"); } если (chunk.Count > 1) { return BadRequest("Запрос содержит более одного файла. Одновременно можно загрузить только один файл"); } вар blockBlobClient = blobContainerClient.GetBlockBlobClient(fileName); if (!await blockBlobClient.ExistsAsync()) { ждут blockBlobClient.UploadAsync (новый MemoryStream()); } буфер байт[] = новый байт[кусок[0].Длина]; await chunk[0].OpenReadStream().ReadAsync(buffer, 0, buffer.Length); вар blockId = Guid.NewGuid().ToString(); вар blockIdBytes = Encoding.UTF8.GetBytes(blockId); вар base64BlockId = Convert.ToBase64String(blockIdBytes); ждут blockBlobClient.StageBlockAsync(base64BlockId, новый MemoryStream(буфер)); вар BlockList = ждут BlockBlobClient.GetBlockListAsync(BlockListTypes.All); var totalBlockCount = blockList.Value.CommitedBlocks.Count() + blockList.Value.UncommitedBlocks.Count(); // Эта строка только что вернула 14 блоков ждут blockBlobClient.CommitBlockListAsync(blockList.Value.UncommitedBlocks.Select(block => block. Name).ToList()); }
Мобильная версия