【发布时间】:2012-11-21 03:04:07
【问题描述】:
我正在将 ClickOnce 安装从常规 Web 服务器移动到 Azure Blob 存储,并且某些文件存在问题。文件名包含 [ ] 和 CloudBlob.UploadFile 失败并出现异常:
Microsoft.WindowsAzure.Storageclient.StorageException:
访问 Blob 存储时出错:服务器无法对请求进行身份验证。确保 Authorization 标头的值格式正确,包括签名。
该代码已经使用了一段时间,并且仅在名称中带有 [ ] 的文件上失败,所以我不认为这是“身份验证失败”。在这种特殊情况下,这是循环上传的第七个文件。我找到了this link on MSDN about valid file names 和this on stack overflow which both show problems with square brackets in URL's and reference UrlEncode。我添加了对UrlEncode 的电话,但没有帮助。该容器是通过公共访问创建的,因为我们使用它来支持客户下载我们的软件。我们一直在另一个容器中托管“测试”安装,并且访问该容器也没有权限问题。
我可以在不更改名称的情况下上传文件,然后使用 newdesic 的 Azure 存储资源管理器工具重命名文件以添加“路径”,那么我没有在做什么呢?
【问题讨论】:
-
您使用的是什么版本的 Azure SDK?
-
我们刚刚升级到1.8 SDK和VS2012
标签: azure azure-storage azure-blob-storage azure-sdk-.net