我不熟悉PIL,因为我使用了Google提供的另一种解决方案来提供图像和调整图像大小。Google可以使用Google高性能图片服务为您提供图片。这表示:
- 您必须使用以下方法创建一次,即在blobstore中为图片创建一个serve_url:get_serving_url
- 您可以更改所投放图片的尺寸。原件不变
- Google几乎免费为您提供图片。您不需要处理程序。您只需要支付带宽
这是一个例子。您可以更改= s0,以更改大小。s0返回原始大小。
https://lh6.ggpht.com/1HjICy6ju1e2GIg83L0qdliUBmPHUgKV8FP3QGK8Qf2pHVBfwkpO_V38ifAPm-9m20q_3ueZzdRCYQNyDE3pmA695iaLunjE=s0
get_serving_url文档:https
:
//developers.google.com/appengine/docs/python/images/functions
代码:
class Dynamic(db.Model): # key : name name = db.StringProperty() blob_ref = blobstore.BlobReferenceProperty() serving_url = db.linkProperty()dyn= Dynamic.get_by_key_name(key_name)try : # get url with size = 0 dyn.serving_url = images.get_serving_url(dyn.blob_ref, size=None, secure_url=True)except DeadlineExceededError : try : # sometimes this request fails, retry. This always works fine dyn.serving_url = images.get_serving_url(dyn.blob_ref, size=None, secure_url=True) except DeadlineExceededError : logging.error('Image API get_serving_url deadline error after retry' %(dyn.key().name())) return None dyn.put()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)