我使用在Azure搜索中索引我的文件。
在执行搜索之后,我应该能够通过解码base64元数据字符串来确定blob的路径。据我所知,C#无法解码返回的base64。
下面是从Azure搜索中发送的示例base64路径:
aHR0cHM6Ly9qbG9jYWxnZW5lcmFsLmJsb2IuY29yZS53aW5kb3dzLm5ldC9kaWFyaW9zLzEvMTAtdGV4dG8uemlw0 1. ->当我试图在C#中解码它时,会得到以下异常:“Bas-64字符数组或字符串的长度无效。”使用的代码如下
2.
aHR0cHM6Ly9qbG9jYWxnZW5lcmFsLmJsb2IuY29yZS53aW5kb3dzLm5ldC9kaWFyaW9zLzEvMi10ZXh0by56aXA1 ->在末尾添加了一个5,这并不在原来的路径中。
aHR0cHM6Ly9qbG9jYWxnZW5lcmFsLmJsb2IuY29yZS53aW5kb3dzLm5ldC9kaWFyaW9zLzEvMy10ZXh0by56aXA1 3. ->在末尾添加了一个5,这并不在原来的路径中。
下面是我用来解码它的代码:
public static string DecodeBase64(this string base64)
{
// I have also tried with ASCII
return System.Text.Encoding.UTF8.GetString(System.Convert.FromBase64String(base64));
}

发布于 2016-12-19 05:34:52
请参阅文献化。具体来说,您需要使用UrlTokenDecode法或类似的。
https://stackoverflow.com/questions/41212467
复制相似问题