我的龍捲風應用程序在標題中收到圖像。所以,我想重新調整大小並存儲它。但是我在打開圖像時遇到了麻煩 - 要創建PIL對象,我必須將該文件與圖像相關聯,並將文件的名稱傳遞給PIL的Image模塊的open()方法。但我只有標題和文件信息。我應該創建臨時文件來創建圖像對象嗎?或者也許有其他解決方案?龍捲風和PIL:從標題打開圖像
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()
TIA!
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
它可能並不重要根據您當前的平臺上,但要始終使用二進制數據的二進制模式。在這種情況下,將'w'改爲'wb'。 – bernie
如果我不使用二進制寫入模式 - 我可以面對哪種錯誤? – dizpers
如果您在二進制標誌很重要的平臺上,您的映像可能會損壞。 – bernie