3

我有一个应用程序,其中一些图像将根据用户输入动态创建,我需要将这些图像发送回用户的浏览器。一旦用户离开图像所在的页面,就不再需要图像了,所以我只需要它们足够长的时间来为它们服务。

我了解如何使用Ok(sendFile(...))Ok(stream(...))在控制器中发送图像数据,但我无法理解的是如何srcimg标签中指定路径。更明确地说,我想我会有类似的东西

<img src=@routes.Controllers.serveImage(...) />

在我的模板的某个地方。

理想情况下,我不必创建临时文件来保存图像,因为这是可能不需要发生的大量输入/输出,尽管它似乎确实是获取我可以传递给的唯一标识符的最简单方法serveImage控制器。

如果我尝试从内存中提供图像,我将如何为图像提供唯一的 id,确保它在 Web 浏览器请求时在内存中可用,并在不再需要时将其删除?

谢谢!托德

4

1 回答 1

3

生成唯一 ID 非常简单

“从内存中提供图像,[...] 在不再需要时将其删除”部分对我来说听起来很像缓存。Play 为此提供了一个缓存 API

于 2012-12-19T08:36:43.530 回答