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

使用Rundeck调用Telegram Bot的sendPhoto接口发图报错求解决

解决Rundeck调用Telegram sendPhoto接口发送图片失败的问题

核心问题原因

Telegram的sendPhoto接口上传本地图片时,必须使用multipart/form-data格式,而你之前用sendMessage的application/json格式不支持文件上传——哪怕把参数名改成photo,JSON格式也没法正确传递文件内容,自然会提示“请求里没有图片”,同时引发流关闭的错误。

具体解决步骤

  1. 切换请求格式
    在Rundeck的HTTP Request Step配置里,把请求的Content-Type改成multipart/form-data,不要用默认的JSON格式。

  2. 调整参数配置(改用表单数据)
    放弃在Request Body里写JSON,切换到Form Data模式,添加以下三个字段:

    • chat_id:类型选「文本」,值填${option.chatid}
    • caption:类型选「文本」,值填${option.corpo}(注意:Telegram里图片下方的说明文字用caption参数,不是text)
    • photo:类型选「文件」,选择你定义的File类型选项(对应变量${file.file})
  3. 验证接口调用
    重新运行步骤,此时文件会以multipart格式正确上传到Telegram接口,就能成功发送图片了。

额外注意点

  • 如果你的图片是在线URL,也可以直接把photo字段设为URL文本(不用传文件),但这种情况也要用multipart或者x-www-form-urlencoded格式,不能用JSON。
  • 确保你的Telegram Bot权限足够,能在目标群组发送图片。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 15:18:26