动态地从PIL提供图像

时间:2011-05-31 23:57:06

标签: python python-imaging-library paste

我正在使用PIL(Python Imaging Library)和Paste来制作一个非常简单的网页。我有一个只返回图像标记的函数:

def home(self):
    return '<img src="photo" alt="photo"/>'

我还有一个名为photo的函数(理想情况下)返回要放入img标记的图像:

def photo(self):
    img = image_from_PIL # this part works
    output = StringIO.StringIO()
    img.save(output, "JPEG") # saves the image as a StringIO in output
    final_img = output.getvalue()
    output.close()

    # then set headers['content-type'] = 'image/jpeg' (confirmed this works)

    return [final_img]

所以我知道图像存在于字符串final_img中,而内容类型是“image / jpeg”。我希望这可行,但我得到的是200状态OK响应大小为0。

我还尝试了很多其他的事情,包括:

  • 将字符串转换为二进制并将其吐出
  • 将标题中的内容长度设置为字符串的长度(以及x8,因为每个字符为8位)

如果它有任何区别,我的服务器正在使用uWSGI和nginx

我不知道还有什么可尝试的!谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

不要返回包含图像的列表,而是返回图像本身。

替换

return [final_img]

return final_img