gpt4 book ai didi

Azure 存储 CloudBlockBlob.PutBlockAsync() HTTP header 之一的值格式不正确。

转载 作者:行者123 更新时间:2023-12-03 00:42:25 25 4
gpt4 key购买 nike

我正在开发一个使用后端 Web API ASP.NET CORE 2.1 和前端 Angular 6 的网站。

在此站点中,我将通过 Web api 上传大文件与 microsoft.azure.storage 9.3.2 集成。我正在按 block 进行分块,并将它们从 FE 发送到端点。在里面我做了以下逻辑:

  var container = CloudStorageAccount.Parse(key).CreateCloudBlobClient().GetContainerReference(containerName);
var result = await container.CreateIfNotExistsAsync();
if (result)
{
await container.SetPermissionsAsync(new BlobContainerPermissions
{
PublicAccess = BlobContainerPublicAccessType.Blob
});
}
BlockBlob = container.GetBlockBlobReference(blobName);

await fileUploadSession.BlockBlob.PutBlockAsync(block.BlockId, chunkStream, null);

这里有一个异常(exception),即“HTTP header 之一的值格式不正确。”

堆栈跟踪是:

位于 C:\Program Files (x86)\Jenkins\workspace\release_dotnet_master\Lib\WindowsRuntime\Core\Executor\Executor.cs 中的 Microsoft.WindowsAzure.Storage.Core.Executor.Executor.d__4`1.MoveNext() :第 316 行--- 从先前抛出异常的位置开始的堆栈跟踪结束 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 C:\Program Files (x86)\Jenkins\workspace\release_dotnet_master\Lib\WindowsRuntime\Blob\CloudBlockBlob.cs 中的 Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob.d__62.MoveNext() 处:第 1020 行--- 从先前抛出异常的位置开始的堆栈跟踪结束 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 D:\repos\vidiwin2api\vidiwin2Api\Controllers\VideosController.cs 中的 vidiwin2Api.Controllers.VideosController.d__18.MoveNext() 处:第 469 行

最令人惊奇的是,我在旧版本中具有相同的功能,在 Framework 4.6 和 microsoft.azure.storage 6.0.0 上使用 BE Web api,并且这有效!!

我已经在 PutBlockAsync 中测试了所有类型的参数,并且总是出现相同的异常。

有人可以帮助我吗?

最佳答案

我遇到了同样的错误,因为我忘记在调用 PutBlockAsync() 之前将流位置重置为 0。尝试一下

chunkStream.Position = 0;
await fileUploadSession.BlockBlob.PutBlockAsync(block.BlockId, chunkStream, null);

否则检查异常的 ExtendedErrorInformation 属性。在那里您将找到有关错误 HTTP header 的更多信息。

关于Azure 存储 CloudBlockBlob.PutBlockAsync() HTTP header 之一的值格式不正确。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52593671/

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