处理gae Web应用程序中的图像内容

时间:2014-05-18 02:37:09

标签: image google-app-engine jsf primefaces google-cloud-datastore

我正在构建一个新的Web应用程序。我使用google appengine,jsf2,primefaces,java技术来构建这个Web应用程序。我必须在此Web应用程序中构建动态图像库。即注册用户应该能够将图像加载到图库,然后它应该可供公众查看。

我的问题是:  1)app引擎一次只允许最多1mb的文件写入其blob存储。  2)app引擎不允许写入服务器文件系统。  3)我应该将每个图像作为blob存储到gae数据库吗?但是,如果我这样做,整个应用程序将会很慢,因为可能会有很多图像。因此,从blob商店中读取图像会使其变慢并且将耗费大量处理能力。

对于正确的解决方案我真的感到困惑,并且无法在网络上找到任何正确的建议。我很确定会有一个下降解决方案!

如果有一个具有构建Web应用程序的经验,处理大量图像内容的人可以给我一个很好的解决方案,那将是一个很大的帮助。

2 个答案:

答案 0 :(得分:0)

解决方案是在用户上传图片时使用upload URLs,以便将其直接上传到Blob商店:

https://developers.google.com/appengine/docs/java/blobstore/#Java_Uploading_a_blob

然后直接通过getServingUrl()引用blob,而不是让你的应用程序尝试将它们读入内存。

答案 1 :(得分:0)

你真的应该使用GCS(谷歌云存储),而不是blobstore。从用户浏览器到存储在GCS中的图像的调用直接转到那里,不向您的应用收费。