【问题标题】:Azure Search invalid base64 path in metadata using Blob Storage IndexerAzure 使用 Blob 存储索引器在元数据中搜索无效的 base64 路径
【发布时间】:2017-05-03 21:46:30
【问题描述】:

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

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

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

1. aHR0cHM6Ly9qbG9jYWxnZW5lcmFsLmJsb2IuY29yZS53aW5kb3dzLm5ldC9kaWFyaW9zLzEvMTAtdGV4dG8uemlw0 -> 当我尝试在 C# 中对其进行解码时,出现以下异常:“Base-64 字符数组或字符串的长度无效。”使用的代码如下

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));
    }

【问题讨论】:

    标签: c# azure base64 blob azure-cognitive-search


    【解决方案1】:

    请参考documenation。具体来说,您需要使用UrlTokenDecode method 或等效项。

    【讨论】:

      猜你喜欢
      • 2015-12-01
      • 2018-04-30
      • 2020-09-19
      • 2018-07-06
      • 2018-03-10
      • 2018-03-16
      • 2018-02-09
      • 2017-04-18
      • 1970-01-01
      相关资源
      最近更新 更多