2012-07-01 51 views
0

我試圖從blobstore返回一個縮略圖。對於完整的圖像,我常寫出來get_serving_url返回'Key'類型的對象has no len()

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

回答

1

您可能想在將密鑰對象傳遞給get_serving_url()之前先調用str()。這很可能期望鍵的字符串形式。

在原始版本的之所以成功是因爲使用%運營商與%s格式說明自動調用str()你確定內插的字符串。

+0

謝謝,原來如此! – DMan

相關問題