You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Eve接口的GET请求仅保存MongoDB中的BASE64字段内容?

提取Eve API返回的特定BASE64字段

要只保存返回结果里的BASE64字符串,你需要在curl请求后加上JSON解析的步骤——因为curl本身只能获取完整响应,没法直接提取字段。这里有两种适合Windows环境的方案:

方案1:使用jq(推荐,更简洁)

jq是专门处理JSON的轻量工具,先下载适合Windows的版本并放到系统PATH里(这样终端能直接调用它),然后修改你的命令:

curl -g http://xxx.xxx.xxx.xx:xxxx/people?where={%22first_name%22:%20%22myself%22} | jq -r '._items[0].file' > "C:\Users\xxx\Desktop\output.txt"
  • -r 参数让jq输出原始字符串(不带JSON的引号),这样保存的就是纯BASE64内容;
  • ._items[0].file 是JSON路径,精准定位到你要的字段(因为返回的结果是数组,[0]取第一个元素)。

方案2:用Windows PowerShell(无需额外安装工具)

如果你不想装新工具,PowerShell自带JSON处理能力,直接用下面的命令:

(Invoke-RestMethod -Uri "http://xxx.xxx.xxx.xx:xxxx/people?where={`"first_name`": `"myself`"}")._items[0].file | Out-File -FilePath "C:\Users\xxx\Desktop\output.txt" -Encoding utf8
  • Invoke-RestMethod 会自动把API返回的JSON转换成PowerShell对象,你可以直接用.访问属性;
  • Out-File 指定保存路径,-Encoding utf8 避免BASE64字符串出现乱码问题。

如果你的查询可能返回多个结果,只需要把[0]改成循环处理(比如foreach ($item in $result._items) { $item.file | Out-File ... -Append })就能保存所有匹配的BASE64字符串。

内容的提问来源于stack exchange,提问作者Paolo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:38:17