谷歌關於動態提供GAE圖像的說明在這裏:https://developers.google.com/appengine/articles/python/serving_dynamic_images 唯一的問題是,這種方法不使用AJAX,我不認爲它是如我所期望的那樣高效。基於AJAX的動態圖像服務 - 谷歌App Engine Python 2.7
我正在嘗試使用AJAX和GAE Python 2.7來動態地爲多個圖像提供服務,但我現在專注於爲其中一個服務。
Python的服務器端代碼:
class GetImage(webapp2.RequestHandler):
def get(self):
problem = Problem.all()[0]
if(problem and problem.prompt_image):
self.response.headers['Content-Type'] = "image/png"
self.response.out.write(problem.prompt_image)
客戶端AJAX代碼:
$.ajax({
url: "/img",
type: "POST",
dataType: "html",
success: function(msg){
$("#right").append("<img>"+msg+"</img>");
}
});
,我現在面臨的問題是,我不知道如何通過AJAX服務Blob存儲內容DOM。任何人都可以將我指向正確的方向嗎?
謝謝!
編輯:voscausa的解決方案似乎是在正確的軌道上。但是,它需要一個blob_key。我的模型如下:
class Problem(db.Model):
prompt_image = db.BlobProperty()
我似乎無法弄清楚如何從db.BlobProperty獲取Blob密鑰。這可能嗎?
你需要做一個POST? –
您是否需要在瀏覽器中查看它,或者您需要下載它。 –
@Peter在整個系統中,用戶會按下一個按鈕,這會觸發一個AJAX事件。由於那時候,頁面已經被加載了,我覺得POST是合適的。 –