1

我有一个动态生成的 HTML 页面,其中包含动态生成的图像 (jpeg)。对于我的应用程序来说,这两种动态生成的资源彼此一致是很重要的。(HTML 包含一些我覆盖在图像顶部的元素。)这有点棘手,因为这两个资源当然是在不同的 HTTP 请求中获取的。

在我的服务器代码中构造它的最佳方法是什么?播放是否支持特定的处理方式?


一些选项浮现在脑海中:

首先是在请求 HTML 页面时计算图片的参数,并将这些参数放入图片的 URL 中。对我来说不幸的是,这里有很多我认为不适合 URL 的状态。

另一种方法可能是在请求 HTML 期间生成图像(或仅生成图像的参数),并将其存储在服务器端某处。然后当图像请求出现时,我可以返回预先生成的图像。这个解决方案的唯一问题是我现在需要担心生成的图像服务器端的生命周期,这感觉很糟糕。

4

1 回答 1

1

实际上,您的两种方法都是正确的,无论如何我会选择第一种:原因很简单,如果您的请求在渲染页面之前因任何原因而死,您将失去一些用于渲染图像的资源,这些资源将永远不会被使用。另一件事是它(可能)应该能够从任何请求中渲染图像,而不仅仅是来自控制器(如第二种方法中所述),因此最好创建一个能够根据请求参数渲染它的动作。

结论(注意,这只是我的猜测) - 可能您能够将所有必需的参数编码为单个字符串(即除以一些字符,例如:1234_w600_h200.jpg,这意味着:从记录 ID 所在的数据库中获取图像1234并创建一个缩略图width 600pxheight 200px. 或者更简单(afaik flicker 使用这个)1234s.jpg, 1234m.jpg, 1234l.jpg, 其中s, m, lappendixes 代表一些预定义的缩略图大小。

所以最后你需要从控制器传递到视图是第一部分 - 数据库记录的ID,其他部分(维度)你可以直接添加到视图中,你可以根据需要进行......例如:下载小,中型或大型版本...

于 2013-03-19T21:50:48.960 回答