0

ブロブストアからサムネイルを返そうとしています。完全な画像の場合、私は通常書きます

<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()ます。私が使用したブロブキーが正しくないと推測することしかできませんが、私が知る限り、それブロブキーです。

4

1 に答える 1

1

str()に渡す前に、キー オブジェクトを呼び出したいと思うでしょうget_serving_url()。キーの文字列形式を期待している可能性が最も高いです。

元のバージョンで機能した理由は、書式指定%子で演算子を使用すると、補間する文字列を決定するように自動的に要求されるためです。%sstr()

于 2012-07-01T01:36:29.567 に答える