1
class ImageHandler(webapp2.RequestHandler):
    def get(self):
        a_user = db.get(self.request.get('img_id'))
        if a_user.profile_img:
            self.response.headers['Content-Type'] = 'image/png'
            self.response.out.write(a_user.profile_img)
        else:
            self.response.out.write("No image")

画像をロードするとき、これは非常に遅いです。ページをリロードするたびに、画像が画像の上からリロードされ、画像全体が徐々にロードされます(意味がわからない場合はお知らせください)。img_idをキャッシュする必要がありますか?しかし、ハンドラーを使用して画像を読み込む場合、アプリケーションがより高速な画像を読み込むのに役立たないように思われます。画像をより速くロードする方法について何かアイデアはありますか?前もって感謝します。

4

1 に答える 1

5

あなたはまだ開発中ですか?開発サーバーでは、一度に1つのリクエストしか処理しないため、処理速度が大幅に低下します。生産パフォーマンスははるかに良くなります。

そうは言っても、GAEの組み込みの画像ホスティングを使用したほうがよいかもしれません。そのためには、モデル内のblobpropertyに画像データを保存するのではなく、画像データをblobstoreに直接アップロードし、で参照しBlobReferencePropertyます。それが完了するImage.get_serving_url()と、GAEに直接提供させるために使用できるため、アプリを経由する必要はまったくありません。

于 2013-02-14T02:25:16.560 に答える