gpt4 book ai didi

c# - Azure blob 上传在 .Net Core 3.0 应用程序中调用 .Upload() 时挂起

转载 作者:行者123 更新时间:2023-12-02 02:56:30 25 4
gpt4 key购买 nike

尝试开始将简单文件上传到 .NET Core 3.0 中的 Azure 存储 Blob。我在 VS 中启动了一个全新的 Razor Pages Web 应用程序,添加了 Azure.Storage.Blobs NuGet 包 (v12.4)。在 AzureBlobRepository.cs 中调用 blobClient.Upload(content) 时,代码会挂起。它永远不会抛出异常,也永远不会超时。这实际上是解决方案中的唯一代码(VS 模板附带的样板代码除外)。

Index.cshtml

@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.cshtml.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();
}
}

最佳答案

复制到 MemoryStream 后重置 MemoryStream 的位置,否则 BlobClient 将尝试从末尾读取。

FormFile.CopyTo(memoryStream);
memoryStream.Position = 0;

关于c# - Azure blob 上传在 .Net Core 3.0 应用程序中调用 .Upload() 时挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61035283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com