Тихая ошибка на UploadFromStreamAsync в хранилище Azure - PullRequest
0 голосов
/ 19 сентября 2019

Я загружаю сообщение электронной почты в хранилище Azure, и при вызове UploadFromStreamAsync

происходит сбой процесса без полной ошибки: Вот полная функция:

    public async Task<string> UploadFileToStorage(IFormFile photo, AzureStorageConfig _storageConfig)
    {
        CloudStorageAccount storageAccount = CloudStorageAccount.Parse(_storageConfig.ConnectionString);
        CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
        CloudBlobContainer container = blobClient.GetContainerReference(_storageConfig.ImageContainer);
        var fileName = photo.FileName;
        CloudBlockBlob blockBlob = container.GetBlockBlobReference(fileName);
        blockBlob.Properties.ContentType = GetContentType(photo.FileName);
        blockBlob.Properties.CacheControl = "max-age=31536000";

        using (var stream = photo.OpenReadStream())
        {
            // Upload the file
            //await blockBlob.UploadFromByteArrayAsync(ReadFully(stream, blockBlob.StreamWriteSizeInBytes), 0, (int)stream.Length);
            await blockBlob.UploadFromStreamAsync(stream);
        }
        return await Task.FromResult(fileName);
    }

Это работаетнормально на моем коллегном компьютере, он использует эмулятор хранения 5.7, я использую 5.10.Не уверен, что версия эмулятора может быть проблемой?Или что-то другое?Потому что эмулятор работает нормально.

У меня есть .NET Core 2.2.0 решение.

1 Ответ

0 голосов
/ 23 сентября 2019

Одной из возможных причин является то, что клиентская библиотека хранилища больших двоичных объектов устарела на вашей стороне.

Попробуйте последнюю версию клиентской библиотеки хранилища больших двоичных объектов Microsoft.Azure.Storage.Blob 11.0.1 с эмулятором хранилища 5.10.

...