GAE Python:上载的图像加载。如何加载图像更快?

时间:2013-02-14 02:17:40

标签: python google-app-engine

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吗?但在我看来,当你使用处理程序加载图像时,它无助于应用程序加载更快的图像。关于如何更快地加载图像的任何想法?提前谢谢。

1 个答案:

答案 0 :(得分:5)

你还在开发中吗?开发服务器中的事情会慢得多,因为它一次只处理一个请求。生产性能会好得多。

也就是说,使用GAE的内置图像托管可能会更好。为此,您不是将图像数据存储在模型中的blobproperty中,而是将其直接上载到blobstore并使用BlobReferenceProperty引用它。完成后,您可以使用Image.get_serving_url()让GAE直接投放,因此根本不需要通过您的应用。