我正在构建一个新的Web应用程序。我使用google appengine,jsf2,primefaces,java技术来构建这个Web应用程序。我必须在此Web应用程序中构建动态图像库。即注册用户应该能够将图像加载到图库,然后它应该可供公众查看。
我的问题是: 1)app引擎一次只允许最多1mb的文件写入其blob存储。 2)app引擎不允许写入服务器文件系统。 3)我应该将每个图像作为blob存储到gae数据库吗?但是,如果我这样做,整个应用程序将会很慢,因为可能会有很多图像。因此,从blob商店中读取图像会使其变慢并且将耗费大量处理能力。
对于正确的解决方案我真的感到困惑,并且无法在网络上找到任何正确的建议。我很确定会有一个下降解决方案!
如果有一个具有构建Web应用程序的经验,处理大量图像内容的人可以给我一个很好的解决方案,那将是一个很大的帮助。
答案 0 :(得分:0)
解决方案是在用户上传图片时使用upload URLs,以便将其直接上传到Blob商店:
https://developers.google.com/appengine/docs/java/blobstore/#Java_Uploading_a_blob
然后直接通过getServingUrl()
引用blob,而不是让你的应用程序尝试将它们读入内存。
答案 1 :(得分:0)
你真的应该使用GCS(谷歌云存储),而不是blobstore。从用户浏览器到存储在GCS中的图像的调用直接转到那里,不向您的应用收费。