当前位置: 首页 > 知识库问答 >
问题:

将文件转换为elasticsearch中的base64以获取附件

韩嘉胜
2023-03-14

实际上,我希望将文件更改为base64,并附加弹性搜索JSON数据。
下面给出了代码:



    curl -XDELETE "http://localhost:9200/test"

    curl -XPUT "http://localhost:9200/test/?pretty=1" -d '
    {
        "mapping" : {
            "xmlfile" : {
                "properties" : {
                    "attachment": { "type" : "attachment" }
                }
            }
        }
    }'

    curl -XPOST "http://localhost:9200/test/xmlfile?pretty=1" -d '
    {
        "attachment" : '`base64 /path/filename | perl -pe 's/\n/\\n/g'`'
    }'

    curl -XGET "http://localhost:9200/test/xmlfile/_search?pretty=1" -d '
    {
        "query" : {
            "text" : {
                "file" : "any text will come here"
            }
        }
    }'

当我执行这些查询时,特别是在发布数据时,我会得到以下错误:

这类问题有什么解决办法吗?我试图在附加文件时将数据更改为base64。
帮助??

甚至,当我给出双引号并执行时:



    curl -XPOST "http://localhost:9200/test/xmlfile?pretty=1" -d '
    {
        "attachment" : "'`base64 /path/filename | perl -pe 's/\n/\\n/g'`'"
    }'


我得到这个错误

我是不是漏掉了什么?

共有1个答案

巫英纵
2023-03-14
"attachment" : '`base64 /path/filename | perl -pe 's/\n/\\n/g'`'

base64周围的引号是为shell取消引号,然后进行反引号以执行命令。您需要另一个用于JSON的双引号。

"attachment" : "'`base64 /path/filename | perl -pe 's/\n/\\n/g'`'"
 类似资料:
  • 问题内容: 现在,我通过此行获取File对象: 我需要在base 64中通过json发送此文件。如何将其转换为base64字符串? 问题答案: 现代ES6方式 (异步/等待) UPD: 如果您想捕捉错误

  • 我需要在Base64中通过json发送这个文件。我应该怎么做才能将它转换为base64字符串?

  • 问题内容: 我知道这个问题可能被问过10000次,但是,我似乎找不到这个问题的直接答案。 我的数据库中存储了一个LOB,代表一个图像;我正在从数据库中获取该图像,我想通过HTML IMG标签将其显示在网页上。这不是我的首选解决方案,但在我找到更好的解决方案之前,这是一个权宜之计。 我正在尝试通过以下方式使用Apache Commons Codec将byte []转换为Base64: 然后,我试图像

  • 我必须将对象作为有效负载发送到后端API。如何将Base64图像文件URI转换为下面提到的文件对象格式?我试图寻找其他解决方案,但这些解决方案都是Blob到文件转换或base64数据url转换。谁能帮忙吗? Base64图像文件URL 这需要转化为 文件对象

  • 问题内容: 我正在尝试将base64图像字符串转换为图像文件。 使用以下代码将其转换为图像文件: 但是我遇到了错误,这是怎么了? 问题答案: 问题是编码内容中包含该内容。当base64函数对其进行解码时,这将导致无效的图像数据。像这样在解码字符串之前先删除函数中的数据。

  • 如何获取文件的数据而不是路径?我使用了,它返回文件的路径。 现在我想要的是将文件(而不是路径)转换为Base64。我知道如何将其转换为base64,但我想知道的是如何获取文件的数据。 知道吗?对不起,我是C#的新手 我不知道在这里是否是正确的术语:)