Azure使用Blob存储索引器在元数据中搜索无效的base64路径

时间:2016-12-18 20:20:41

标签: c# azure base64 blob azure-search

我使用Blob存储索引器在Azure搜索中索引我的文件。

执行搜索后,我原本可以通过解码base64元数据字符串来确定blob的路径。据我所知,C#无法解码返回的base64。

以下是从Azure搜索发送的示例base64路径:

1。 aHR0cHM6Ly9qbG9jYWxnZW5lcmFsLmJsb2IuY29yZS53aW5kb3dzLm5ldC9kaWFyaW9zLzEvMTAtdGV4dG8uemlw0 - >当我尝试在C#中解码它时,我得到以下异常:“Base-64 char数组或字符串的长度无效。”使用的代码如下:

2
aHR0cHM6Ly9qbG9jYWxnZW5lcmFsLmJsb2IuY29yZS53aW5kb3dzLm5ldC9kaWFyaW9zLzEvMi10ZXh0by56aXA1 - >在末尾添加5,不在原始路径

第3 aHR0cHM6Ly9qbG9jYWxnZW5lcmFsLmJsb2IuY29yZS53aW5kb3dzLm5ldC9kaWFyaW9zLzEvMy10ZXh0by56aXA1 - >在末尾添加5,不在原始路径

以下是我用来解码它的代码:

    public static string DecodeBase64(this string base64)
    {
        // I have also tried with ASCII
        return System.Text.Encoding.UTF8.GetString(System.Convert.FromBase64String(base64));
    }

enter image description here

1 个答案:

答案 0 :(得分:2)

请参阅documenation。具体而言,您需要使用UrlTokenDecode method或等效内容。