在Azure搜索中解码Blob文件的路径时出现问题

时间:2017-09-19 16:31:48

标签: azure azure-search

我已经为blob存储设置了Azure搜索,并且因为文件的路径是关键属性,所以它被编码为Base 64格式。 在搜索索引时,我需要解码路径并将其显示在前端。但是,当我尝试在少数场景中尝试这样做时,它会抛出错误。

 int mod4 = base64EncodedData.Length % 4;
            if (mod4 > 0)
            {
                base64EncodedData += new string('=', 4 - mod4);
            }
            var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
            return System.Text.Encoding.ASCII.GetString(base64EncodedBytes);

请告诉我这是怎样的正确方法。

感谢。

1 个答案:

答案 0 :(得分:1)

请参阅Base64EncodeBase64Decode映射函数 - 其中记录了编码详细信息。

特别是,如果您使用的是.NET,则应使用HttpServerUtility.UrlTokenDecode method UTF-8编码,而不是ASCII