3

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

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')

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

4

1 回答 1

4

我对 webob 不熟悉,但我的猜测是 body_file 包含整个帖子的内容,而不仅仅是您的图像。文档似乎证实了这一点。

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

于 2010-02-01T18:23:41.697 回答