我有一个动态生成的HTML页面,其中包含动态生成的图像(jpeg)。对于我的应用程序而言,这两个动态生成的资源彼此一致非常重要。 (HTML包含我覆盖在图像顶部的一些元素。)这有点棘手,因为两个资源当然都是在不同的HTTP请求中提取的。
在我的服务器代码中构建此代码的最佳方法是什么?游戏是否支持特定的处理这个?
我想到了一些选择:
第一种是在请求HTML页面期间计算图像的参数,并将这些参数放入图像的URL中。不幸的是,我在这里有相当多的状态,我认为它不适合URL。
另一种选择可能是在请求HTML期间生成映像(或只是它的参数),并将其存储在服务器端某处。然后当图像请求出现时,我可以返回预先生成的图像。这个解决方案的唯一问题是我现在需要担心生成的图像服务器端的生命周期,感觉很难吃。
答案 0 :(得分:1)
实际上你的两种方法都是正确的,无论如何我会选择第一种方法:如果你的请求在呈现页面之前因任何原因而死亡,原因很简单,你将丢失一些用于渲染图像的资源,这将永远不会被使用。另外一点是它(可能)应该能够从任何请求中呈现图像,而不仅仅是来自控制器(如第二种方法中所述),因此最好根据请求参数创建一个能够呈现它的动作。
结论(注意,这只是我的猜测) - 可能你能够将所有必需的参数编码成单个字符串(即除以一些字符,如:1234_w600_h200.jpg
,这意味着:从数据库中获取图像ID记录为1234
,并使用width 600px
和height 200px
创建缩略图。甚至更简单(afaik闪烁使用此功能)1234s.jpg
,1234m.jpg
,{{1} },其中1234l.jpg
,s
,m
附录代表一些预定义的缩略图大小。
因此,最后您需要从控制器传递到视图的第一部分 - 数据库记录的ID,您可以直接在视图中添加的其他部分(维度),您可以根据需要进行...示例: 下载小型,中型或大型版本......