我会将文件发送到Telegram Bot API以发布图片。我在Google App Engine上使用python,我想从URL下载图片并通过Telegram消息发送它,而不在磁盘上创建任何中间文件(我相信在给定平台的情况下甚至不可能)。
我已经成功发送了从磁盘中获取的图像,但无论我尝试什么,我都无法发送从URL中检索到的图片。这是工作代码:
import urllib2
import requests
photo = open('cat.jpg', 'r')
#photo = urllib2.urlopen('http://scontent-b.cdninstagram.com/hphotos-xfa1/t51.2885-15/e15/10919672_584633251672188_179950734_n.jpg')
resp = requests.post(BASE_URL + 'sendPhoto',
files={'photo' : photo},
data={'chat_id' : '95297807'},
)
如果我用urlopen拍照,它就不会工作。我尝试使用StringIO,但它也不起作用。有什么想法吗?
答案 0 :(得分:0)
import urllib2
from StringIO import StringIO
from PIL import Image
url='http://scontent-b.cdninstagram.com/hphotos-xfa1/t51.2885-15/e15/10919672_584633251672188_179950734_n.jpg'
photo=Image.open(StringIO(urllib2.urlopen(url).read()))