谷歌关于动态提供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是合适的。 –