>我正在尝试从 blob 存储返回缩略图。对于完整的图像,我通常会写出来
<img src='img?img_id=%s'></img>" % greeting.key()
(其中问候语处于循环中,从数据库中获取图像的选择)与处理程序('/img', ImageHandler)
和函数
class ImageHandler(webapp.RequestHandler):
def get(self):
greeting = db.get(self.request.get("img_id"))
if greeting.picture:
self.response.headers['Content-Type'] = "image/png"
self.response.out.write(greeting.picture)
else:
self.error(404)
这很好用。但是,当使用get_serving_url时,调用
<img src='img?img_id=%s'></img>" % (images.get_serving_url(greeting.key(), 32))
我得到一个TypeError: object of type 'Key' has no len()
.我只能假设我使用的 blob 键不正确,但据我所知,这就是 blob 键。
您可能
希望在将密钥对象传递给get_serving_url()
之前调用str()
。它很可能期待密钥的字符串形式。
它在原始版本中起作用的原因是,将 %
运算符与 %s
格式说明符一起使用会自动调用str()
,以便您确定要插值的字符串。