gpt4 book ai didi

Azure Blob 存储 - UploadBlobAsync 上的 OutOfRangeInput

转载 作者:行者123 更新时间:2023-12-03 02:41:58 31 4
gpt4 key购买 nike

有一个类似的问题,但那是三年前的事了,没有给出解决方案,并且使用了不同的方法。我有一个 BlobImageStore.cs 文件,该文件基本上是从 Microsoft 给出的有关使用 Blob 存储上传图像的 GitHub 示例复制的。这是没有问题的工作。离开了几周,我正在尝试回去工作,但现在我收到了此 400 OutOfRangeInput 异常。认为这是文件名,因为我正在创建一个新的 Guid 用作文件名,这没有问题,但无论如何我使用了工作“测试”,但仍然遇到相同的异常。

如果我一直从流中上传带有新 GUID 的 blob 名称的 IFormFile,或者只是像“test”这样的简单名称突然失败,有谁知道问题可能是什么?

public async Task<Uri> UploadImageToLibraryAsync(Stream stream, string blobName)
{
try
{
var result = await _containerClient.UploadBlobAsync(blobName, stream);
return GetBlobUri(_containerClient.GetBlobClient(blobName));
}
catch (Exception ex)
{

throw ex;
}
}

然后,我进行了第二次测试,创建了一个全新的顶级客户端,并一直向下下载一个 blob。这一切都一一起作用,直到我尝试下载它。此时我得到了相同的 OutOfRangeInput 错误。

var test3 = new BlobServiceClient("myConnectionString");
var test4 = test3.AccountName;
var test5 = test3.Uri;
var test6 = test3.GetBlobContainerClient("scrapit-job-images");
var test7 = test6.GetBlobClient("profile_photo.jpg");
var test8 = await test7.DownloadAsync();

Fiddler capture

最佳答案

如果帐户名并非全部小写,我能够重现此错误。这是我使用的代码:

const string accountName = "MyStorageAccountName";//Notice the camel case in account name.
const string accountKey = "account-key===";

BlobServiceClient serviceClient = new BlobServiceClient(new Uri("https://MyStorageAccountName.blob.core.windows.net"), new Azure.Storage.StorageSharedKeyCredential(accountName, accountKey));
string containerName = Guid.NewGuid().ToString();
BlobContainerClient containerClient = serviceClient.CreateBlobContainer(containerName);//Throws 400 (One of the request inputs is not valid)

请尝试将您的帐户名更改为全部小写,这样您就不会收到此错误。

关于Azure Blob 存储 - UploadBlobAsync 上的 OutOfRangeInput,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60693900/

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