GAE 目前還不允許使用者操作檔案系統,上傳的圖片只能透過資料庫存取。但可以讀取在系統上的檔案
f=open(".img/a.jpg","rb")
self.response.out.write(f.read())
f.close()
下面轉載:
透過資料庫存取,以下的程式碼實現了 shop 表中 logo 圖片的動態顯示:
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 這樣的格式訪問圖片,在模板檔案中,用實現圖片的顯示。