Python Appengine blobstore,同时存储全尺寸图像和小图像?

Python Appengine blobstore,同时存储全尺寸图像和小图像?,python,google-app-engine,web,Python,Google App Engine,Web,我目前正在Appengine中创建一个图像共享网站,它主要是按照我的要求运行的,但有时我想要一个小版本的图像(缩略图)-目前我正在用HTML缩小它,但浏览器仍然加载完整的(高达32MB的图像),而这完全是不必要的。如何显示低质量、更小的图像以节省带宽 为图像提供服务的代码。这是“mysite.com/view” class ViewPhotoHandler(blobstore_handlers.BlobstoreDownloadHandler): def get(self, photo_

我目前正在Appengine中创建一个图像共享网站,它主要是按照我的要求运行的,但有时我想要一个小版本的图像(缩略图)-目前我正在用HTML缩小它,但浏览器仍然加载完整的(高达32MB的图像),而这完全是不必要的。如何显示低质量、更小的图像以节省带宽

为图像提供服务的代码。这是“mysite.com/view”

class ViewPhotoHandler(blobstore_handlers.BlobstoreDownloadHandler):
    def get(self, photo_key):
        if not blobstore.get(photo_key):
            self.error(404)
        else:
            self.send_blob(photo_key)
用于请求图像的代码

p、 blob_键是一个字符串

link = '/view/%s' % p.blob_key
self.response.write('<img src="' + link + '" alt="Image" height="50" width="50">')
link='/view/%s'%p.blob\u键
self.response.write(“”)
因此,每件事情都是按它应该的方式工作的,但是当请求图像的小版本时,它浪费了太多的带宽

有没有办法解决这个问题?
谢谢

使用图像包中的
获取服务url
功能

from google.appengine.api.images import get_serving_url

url = get_serving_url(blob_key, size=None, crop=False, secure_url=None)
可以调整图像的大小,可以剪切图像,也可以不剪切图像

图像API文档:

注意:您的处理程序现在不需要是
BlobstoreDownloadHandler
的子类

编辑:处理错误。


来自:Images API在本地使用Python图像库(PIL)在本地机器上进行测试期间转换图像。您需要下载PIL模块并将其安装到本地计算机上,才能将Images API与SDK一起使用。

谢谢您的帮助,但它不起作用,我遇到了此错误;第68行,在_transform_image image=_get_images_stub()。_OpenImageData(image_data)AttributeError:'ImagesNotimmentedServiceStub'对象没有属性'_OpenImageData'您需要安装PIL,以便images API在本地计算机上工作。请参见回答中的编辑。谢谢,但是在运行Python2.7时无法安装PIL,我也不能使用2.5,有什么建议吗?我将PIL与Python2.7一起使用。你用的是什么操作系统?我用的是Mac OSX Mountain Lion