POST StringIO объект и открыть с помощью PIL
Когда я разместил изображение, загруженное с помощью StringIO, и использовал web.py для получения объекта StringIO, я не смог открыть его с помощью PIL. Мой POST-код:
# encoding:utf-8
import requests
from StringIO import StringIO
img = open('test.jpg').read()
img = StringIO(img)
files = {'img': img}
baseUrl = r'http://localhost:8080/test'
requests.post(baseUrl, files = files)
Мои файлы Web.py index.py
import web
from PIL import Image
urls = ('/test', 'Test')
class Test:
def GET(self):
pass
def POST(self):
data = web.input()
# How: Use PIL to open the data?
img = Image.open(StringIO(data.img)) # report error
Thks!
1 ответ
Решено!
POST файлы должны быть записаны:
# encoding:utf-8
import requests
from StringIO import StringIO
from PIL import Image
f = StringIO()
img = Image.open('test.jpg')
img.save(f, "JPEG")
f.seek(0)
files = {'img': f}
baseUrl = r'http://localhost:8080/test'
requests.post(baseUrl, files = files)