0

我正在尝试从 blobstore 返回缩略图。对于完整的图像,我通常会写出

<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 密钥。

4

1 回答 1

1

您可能希望str()在将密钥对象传递给get_serving_url(). 它最有可能期待密钥的字符串形式。

它在您的原始版本中起作用的原因是因为使用%带有%s格式说明符的运算符会自动要求str()您确定要插入的字符串。

于 2012-07-01T01:36:29.567 回答