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.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。