我已经看到了其他的问题,但我不知道我错在哪里。我可以上传一个文件没有问题使用PHP页面,看起来像这样:
<form action="https://api.telegram.org/bot190705145:AAH17XDRrPtDO1W1qHCoZ8i0_KqAAAAAAA/sendPhoto" method="post" enctype="multipart/form-data">
<input type="text" name="chat_id" value="XXXXXXXX" />
<input type="file" name="photo" />
<input type="submit" value="send" />
</form>
但是我想在Python中使用Requests来完成它:
url = 'https://api.telegram.org/bot190705145:AAH17XDRrPtDO1W1qHCoZ8i0_KAAAAAAAAA/sendPho to?chat_id=XXXXXXXXX'
files = {'file':open('/Users/stephen/desktop/Sample.png', 'rb')}
r = requests.post(url, files=files)
这会给我一个r.text错误:
u'{"ok":false,"error_code":400,"description":"[Error]: Bad Request: there is no photo in request"}'
我想我也错误地处理了chat_id参数,需要以不同的方式传递它。
任何指导非常感谢!
3条答案
按热度按时间wgeznvg71#
这个错误有关到文件类型.象这样(在html):
你应该改变文件类型到图像或照片,但我不知道python.
ig9co6j12#
您可以使用以下代码:
干杯
w46czmvw3#
这是来自Ashwini Chaudhary的评论(它似乎是如此明显曾经说,非常感谢)。文件={“文件”:打开('/Users/stephen/desktop/Sample.png','rb')}到:files ={'photo':open('/Users/stephen/desktop/Sample.png','rb')}对我来说很有效,但似乎对其他几个人来说也是如此。谢谢