代码之家  ›  专栏  ›  技术社区  ›  Derek Dahmer

打开带有PIL图像的已发布文件

  •  1
  • Derek Dahmer  · 技术社区  · 16 年前

    使用wsgi、webob和pil,我正在尝试使用 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 回复  |  直到 16 年前
        1
  •  3
  •   Mark    16 年前

    我不是webob的粉丝,但我猜body_文件包含了整个帖子的内容,而不仅仅是你的图片。这个 docs 似乎证实了这一点。

    在“nameoffilecontrol”中有什么要求?有文件句柄吗?这将是image.open需要的文件句柄。