我的 Tornado 应用程序在标题中接收图像。所以,我想重新调整它的大小并存储它。但是我在打开图像时遇到了麻烦-要创建 PIL 对象,我必须拥有带有图像的文件并将文件名传递给 PIL 的 Image 模块的 open() 方法。但我那里只有标题和文件信息。我应该创建临时文件来创建 Image 对象吗?或者也许其他一些解决方案?
class ImageHandler(BaseHandler):
def post(self):
f = open("out.jpg", "w")
im = Image.open(self.request.files["ImageUpload"][0]["body"])
im.save(f, "JPEG")
self.finish()
蒂亚!
UPD1 (@bernie)
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/tornado-2.2-py2.7.egg/tornado/web.py", line 988, in _execute
getattr(self, self.request.method.lower())(*args, **kwargs)
File "server.py", line 160, in post
im = Image.open(StringIO(self.request.files["ImageUpload"][0]["body"]))
TypeError: 'module' object is not callable