0

Я бы послал файл в телеграмму Bot API, чтобы отправить снимок. Я использую python в Google App Engine, и я хотел бы загрузить изображение с URL-адреса и отправить его в сообщение Telegram, не создавая промежуточный файл на диске (который, на мой взгляд, даже не возможен с учетом платформы).Сообщение, полученное от urlopen

Я успешно отправил изображение с диска, но независимо от того, что я пытаюсь, я не могу отправить изображение, полученное из 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
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())) 
+0

Это не отвечает на вопрос «после». – o11c

+0

Вы пробовали разместить фотографию, созданную в соответствии с приведенным выше ответом? – gipsy