Python 从urlopen检索的Post图像

Python 从urlopen检索的Post图像,python,google-app-engine,python-requests,urllib2,telegram-bot,Python,Google App Engine,Python Requests,Urllib2,Telegram Bot,我想向电报机器人发送一个文件,以便发布一张照片。我在Google App Engine上使用python,我想从URL下载一张图片并以电报消息的形式发送,而无需在磁盘上创建任何中间文件(我认为在这个平台上甚至不可能) 我已经成功地发送了一张从磁盘上拍摄的图片,但无论我如何尝试,我都无法发送从URL检索到的图片。以下是工作代码: import urllib2 import requests photo = open('cat.jpg', 'r') #photo = urllib2.urlopen

我想向电报机器人发送一个文件,以便发布一张照片。我在Google App Engine上使用python,我想从URL下载一张图片并以电报消息的形式发送,而无需在磁盘上创建任何中间文件(我认为在这个平台上甚至不可能)

我已经成功地发送了一张从磁盘上拍摄的图片,但无论我如何尝试,我都无法发送从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,但也不起作用。有什么想法吗?

这并没有回答问题的“张贴”部分。您是否尝试过张贴根据上述答案创建的照片?
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()))