Python Appengine blobstore,同时存储全尺寸图像和小图像?
我目前正在Appengine中创建一个图像共享网站,它主要是按照我的要求运行的,但有时我想要一个小版本的图像(缩略图)-目前我正在用HTML缩小它,但浏览器仍然加载完整的(高达32MB的图像),而这完全是不必要的。如何显示低质量、更小的图像以节省带宽 为图像提供服务的代码。这是“mysite.com/view”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_
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