0

写真を投稿するために、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 を使用してみましたが、どちらも機能しません。何か案は?

4

1 に答える 1

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()))
于 2015-06-25T22:09:55.290 に答える