Azure Загрузка BLOB-объектов зависает при вызове .Upload () в. Net Приложение Core 3.0 - PullRequest
0 голосов
/ 05 апреля 2020

Попытка начать загрузку простого файла в Azure Storage Blob in. NET Core 3.0. Я запустил новое веб-приложение Razor Pages в VS, добавил пакет Azure.Storage.Blobs NuGet (v12.4). При вызове blobClient.Upload(content) в AzureBlobRepository.cs код просто зависает. Это никогда не вызывает исключения и никогда не прерывается. Это буквально единственный код в решении (за исключением кода котельной плиты, который поставляется с шаблоном VS).

Index.cs html

@page
@model IndexModel

<div class="text-center">
    <form method="post" enctype="multipart/form-data">
        <input type="file" asp-for="@Model.FormFile " />
        <button asp-page-handler="Upload" type="submit">Submit</button>
    </form>
</div>

Index.cs html .cs

public class IndexModel : PageModel
{
   public IFormFile FormFile { get; set; }

   public IActionResult OnPostUpload()
    {
        using (var memoryStream = new MemoryStream())
        {
            FormFile.CopyTo(memoryStream);

            var container = new BlobContainerClient("UseDevelopmentStorage=true", "testcontainer");
            container.CreateIfNotExists();

            BlobClient blobClient = container.GetBlobClient(FormFile.FileName);
            blobClient.Upload(memoryStream); // CODE HANGS HERE FOREVER
        }

        return Page();
    }
}

1 Ответ

2 голосов
/ 05 апреля 2020

Сбросьте позицию MemoryStream после копирования в нее, иначе BlobClient попытается прочитать с конца.

FormFile.CopyTo(memoryStream);
memoryStream.Position = 0;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...