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

如何通过Telegram Bot发送本地存储的图片文件?

你当前的调用方式无法实现本地图片发送,原因如下:
Telegram Bot的sendPhoto接口,当你以GET请求传参的形式传入photo字段时,仅支持传入公网可访问的HTTP/HTTPS链接,Telegram服务器会主动拉取该链接的资源完成发送;而你传入的是本地磁盘路径,Telegram服务器无法访问你本地设备的文件,因此调用失败。


正确的实现方案如下:

  • 将请求方式改为POST,Content-Type设置为multipart/form-data
  • 不将本地路径拼接到URL参数中,而是将本地图片作为表单附件上传,表单字段名为photo,同时将chat_id也作为表单字段提交

以Python的requests库为例,参考代码如下:

import requests

# 替换为你自己的实际参数
BOT_TOKEN = "你的Bot令牌"
CHAT_ID = "目标聊天ID"
LOCAL_IMG_PATH = "C:/Users/LENOVO/Pictures/tempexcel.JPG"

api_url = f"https://api.telegram.org/bot{BOT_TOKEN}/sendPhoto"
payload = {"chat_id": CHAT_ID}
file = {"photo": open(LOCAL_IMG_PATH, "rb")}

resp = requests.post(api_url, data=payload, files=file)
print(resp.json())

注意事项:

  • 单张照片类图片最大支持20MB,其他类型图片最大支持10MB,超出大小限制需要改用sendDocument接口发送
  • 确保代码运行环境对指定的本地图片路径有读取权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:36:03