使用PIL Image打开POSTed文件

时间:2010-02-01 06:01:12

标签: python mod-wsgi webob

使用WSGI,webob和PIL,我正在尝试直接从请求中使用Image.open()。但是,Image.open()始终抛出异常“无法识别图像文件”。图像是唯一的字段,不使用其他POST或GET变量。该文件来自标准的HTML上传表单,其中包含enctype =“multipart / form-data”。

import Image, ImageFile
from webob import Request

def application(environ, start_response):
    req = Request(environ)
    req.make_body_seekable() 
    im = Image.open(req.body_file) # "Cannot identify image file"
    im.save('testfileio.png','PNG')

我的猜测是我没有正确加载上传的图像数据,但我不确定正确的方法是什么。

1 个答案:

答案 0 :(得分:3)

我不是关于webob的问题,但我的猜测是body_file包含整个帖子的内容,而不仅仅是你的图像。 docs似乎证实了这一点。

req.POST ['nameOfFileControl']中有什么?那有文件句柄吗?这将是Image.open需要的文件句柄。