asp.net-mvc-4 - Azure Blob 400 创建容器时的错误请求

标签 asp.net-mvc-4 azure azure-storage azure-blob-storage blobstorage

我正在开发一个 ASP.Net MVC 4 应用程序,并使用 Azure Blob 来存储用户要上传的图像。我有以下代码:

 var storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["StorageConnection"].ConnectionString);

 var blobStorage = storageAccount.CreateCloudBlobClient();
 //merchantKey is just a GUID that is asociated with the merchant
 var containerName = ("ImageAds-" + merchant.merchantKey.ToString()).ToLower();
 CloudBlobContainer container = blobStorage.GetContainerReference(containerName);
 if (container.CreateIfNotExist())
    {
       //Upload the file
    } 

一旦执行 if 语句,我就会收到以下异常:

  {"The remote server returned an error: (400) Bad Request."}

我以为这是容器的名称,但我没有发现它有什么问题。连接字符串似乎创建了一个良好的存储空间,其中包含 blob 的所有详细信息。我不知所措。我研究过网络,每个人都说这是一个命名问题,但我找不到任何问题。

我使用的测试容器名称:imageads-57905553-8585-4d7c-8270-be9e611eda81

容器具有以下 uri:{http://127.0.0.1:10000/devstoreaccount1/imageads-57905553-8585-4d7c-8270-be9e611eda81}

更新: 我已将容器名称更改为 image我仍然遇到同样的异常。开发连接字符串如下:<add name="StorageConnection" connectionString="UseDevelopmentStorage=true" />

最佳答案

正如您通过研究发现的那样,问题在于名称。

您说您的测试容器名为 imageads-57905553-8585-4d7c-8270-be9e611eda81,但在您的代码中您使用的是 ImageAds-57905553-8585-4d7c-8270- be9e611eda81。注意大小写的差异。如果您将容器名称切换为全部小写,它将正常工作。


有关更多信息,请参阅容器名称下的#3:Naming and Referencing Containers, Blobs, and Metadata :

3. All letters in a container name must be lowercase.

关于asp.net-mvc-4 - Azure Blob 400 创建容器时的错误请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19599819/

相关文章:

javascript - SignalR 1.x Hub 方法中的可选参数

c# - 在 OnActionExecuting 中重定向不起作用

jquery - 有没有办法使用 MVC 4 验证来实现 Twitter Bootstrap?而不是使用jquery?

azure - 如何使用 PowerShell 创建使用帐户 key 签名的 Azure 容器 SAS token ?

.net - Azure CloudTable 线程安全吗?

c# - 在 MVC 类上创建主键字段

使用 Git 部署在 Azure 上进行数据库架构迁移

c# - 如何使用 Azure Blob 存储下载 Block Blob (Base64) 文件并将其转换为 PNG?

javascript - Azure 部署错误 errno 47

azure - Azure存储表查询实体真的有数量限制吗?