Java 使用rest api在azure存储上放置块blob列表时,指定的XML在语法上无效错误
我试图将block blob list放入azure存储,但我得到的XML指定在语法上无效的错误。我正在java中使用RESTAPI XML:Java 使用rest api在azure存储上放置块blob列表时,指定的XML在语法上无效错误,java,xml,rest,azure,storage,Java,Xml,Rest,Azure,Storage,我试图将block blob list放入azure存储,但我得到的XML指定在语法上无效的错误。我正在java中使用RESTAPI XML: 我在没有库的情况下直接针对RESTAPI实现时遇到了同样的问题。默认API版本(除非指定备用版本)不支持此xml架构进行多部分上载。切换到x-ms-version:2011-08-18为我解决了这个问题。能否向我们展示将块ID转换为Base64格式字符串的代码?您是否尝试过在没有XML声明的情况下发送它?@GauravMantri我现在无法。我正在使用一
我在没有库的情况下直接针对RESTAPI实现时遇到了同样的问题。默认API版本(除非指定备用版本)不支持此xml架构进行多部分上载。切换到x-ms-version:2011-08-18为我解决了这个问题。能否向我们展示将块ID转换为Base64格式字符串的代码?您是否尝试过在没有XML声明的情况下发送它?@GauravMantri我现在无法。我正在使用一些标准的java库。您现在可以看到ids,azure在使用put block rest API放置单个块时不会抱怨ids。基本上,我尝试使用以下代码.Net将其转换回字符串,并获得一些corrput数据:Encoding.UTF8.GetStringConvert.FromBase64StringAA==是否可以检查您是否正确创建了块ID。您可能需要检查的另一件事是,所有块ID字符串的长度都相同。@GauravMantri Base64String很奇怪:所有LIB都使用不同的算法进行双向转换,但Azure接受我的代码生成的ID。所有ID的长度都相同
<?xml version="1.0" encoding="utf-8"?>
<BlockList>
<Latest>AA==</Latest>
<Latest>AQ==</Latest>
<Latest>Ag==</Latest>
<Latest>Aw==</Latest>
<Latest>BA==</Latest>
<Latest>BQ==</Latest>
<Latest>Bg==</Latest>
<Latest>Bw==</Latest>
<Latest>CA==</Latest>
<Latest>CQ==</Latest>
<Latest>Cg==</Latest>
<Latest>Cw==</Latest>
<Latest>DA==</Latest>
<Latest>DQ==</Latest>
<Latest>Dg==</Latest>
<Latest>Dw==</Latest>
<Latest>EA==</Latest>
<Latest>EQ==</Latest>
<Latest>Eg==</Latest>
<Latest>Ew==</Latest>
<Latest>FA==</Latest>
<Latest>FQ==</Latest>
<Latest>Fg==</Latest>
<Latest>Fw==</Latest>
<Latest>GA==</Latest>
<Latest>GQ==</Latest>
<Latest>Gg==</Latest>
</BlockList>
<?xml version="1.0" encoding="utf-8"?>
<BlockList>
</BlockList>