GAE は現在、ユーザーがファイルシステムを操作することを許可していません。アップロードされた画像はデータベースを介してのみアクセスできます。ただし、システム上のファイルは読み取ることができます。
f=open(".img/a.jpg","rb")
self.response.out.write(f.read())
f.close()
以下のリンク
データベースを介して、以下のコードでショップテーブルのロゴ画像を動的に表示できます:
class showShopLogo(webapp.RequestHandler):
def get(self):
shopid = self.request.get('sid')
shop = Shop.get_by_id(int(shopid))
if (shop and shop.logo):
img = images.Image(shop.logo)
img.resize(width=128, height=128)
tumbimg = img.execute_transforms(output_encoding=images.PNG)
self.response.headers['Content-Type'] = 'image/png'
self.response.out.write(tumbimg)
else:
self.redirect('/images/nologo.png')
処理パスを定義します:
application = webapp.WSGIApplication(
[ ...
('/shop/logo', showShopLogo),
( ...)
], debug=True)
wsgiref.handlers.CGIHandler().run(application)
http://example.com/shop/logo?sid=5 のような形式で画像にアクセスできます。テンプレートファイルでは、を使用して画像を表示します。