我将一个旧的Java项目移植到GAE。它有一些servlet,它们生成带有静态图像的html页面。在原始项目中,这些映像存储在servlet旁边的文件系统中。
我首先尝试使用GCS,我已经上传了我的文件并获得了公开阅读的权限。在这种情况下,我可以使用他们的公共链接访问文件,我可以将这些链接嵌入到HTML输出中。但我觉得这不是正确的解决方案。加载时间似乎很慢,就像图像不在内部旅行",我必须为每个图像提供许可。
所以我的问题是,如何获得"内部"位于GAE应用程序中GCS上的文件的URL?
我发现了一些Java examples,但在我的情况下,我认为我不需要源代码中的图像对象,我只需要一个URL将其传递给HTML源代码。
据我所知,我可以简单地使用源代码作为资源部署图像,但是有很多这些图像。
如果有其他灵魂,比如数据存储,我也会这样做,但我认为GCS是最简单的。
答案 0 :(得分:1)
Google云端存储是加载图像的快捷选项。浏览器读取链接并要求服务器(在本例中为GCS)传送图像。没有“内部”URL可以更快地工作 - 速度反映了GCS和要求图像的浏览器之间的带宽/距离。
您可以使用CDN加速它,您的图像存储在全球的本地服务器上。只有向大量用户提供内容才有意义,而且这是页面加载速度的关键部分。
加快页面加载时间的另一种方法是使用图像精灵而不是图像。这样,您就可以减少从浏览器到服务器(即GCS)的请求数量。如果图像不经常更改,并且大多数页面需要相同的“图像集合”(即未动态显示),这是一个非常好的解决方案。