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

我正在开发一个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}

更新:
我已将容器名称更改为只是映像,我仍然得到相同的异常。开发连接字符串也如下:< add name =“StorageConnection”connectionString =“UseDevelopmentStorage = true”/>

解决方法

正如你通过研究发现的,问题就是这个名字。

你说你的测试容器命名为imageads-57905553-8585-4d7c-8270-be9e611eda81,但在您的代码中,您使用的是ImageAds-57905553-8585-4d7c-8270-be9e611eda81。注意资本化的差异。如果您将容器名称切换到所有小写字母,它将正常工作。

有关详细信息,请参阅位于Naming and Referencing Containers,Blobs,and Metadata的容器名称下的#3:

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

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...