我正在将ClickOnce安装从常规Web服务器移动到Azure Blob存储,并且某些文件存在问题.文件名包含[ ]并CloudBlob.UploadFile失败,但有异常:
Microsoft.WindowsAzure.Storageclient.StorageException:
访问blob存储时出错:服务器无法验证请求.确保正确形成Authorization标头的值,包括签名.
代码已经使用了一段时间,并且只[ ]在名称中的文件上失败,因此我不认为它是"身份验证失败".在这种特殊情况下,这是在循环中上传的第七个文件.我在MSDN上发现了这个关于有效文件名的链接,这在堆栈溢出时发现了URL和引用中的方括号问题UrlEncode.我在电话中加入UrlEncode,但没有帮助.该容器是使用公共访问创建的,因为我们使用它来支持客户下载我们的软件.我们一直在另一个容器中托管"测试"安装,并且没有访问它的权限问题.
我可以上传没有更改名称的文件,然后使用newdesic的Azure存储资源管理器工具重命名该文件以添加"路径",那么我正在做什么呢?