Haskell 在Yesod中显示动态生成的图像
我正在写我的第一个YesSOD应用程序。 该应用程序涉及用户选择查看一个图形,该图形是根据服务器上数据库中存储的数据动态生成的。 我知道如何获取用户请求并在服务器的文件系统上创建映像,但如何创建一个显示该请求的响应页面 另外,当我使用GnuPlot生成映像时,我只知道如何将其作为文件写入文件系统,但如果您碰巧知道如何在内存中获取数据,可能会更好。Haskell 在Yesod中显示动态生成的图像,haskell,yesod,Haskell,Yesod,我正在写我的第一个YesSOD应用程序。 该应用程序涉及用户选择查看一个图形,该图形是根据服务器上数据库中存储的数据动态生成的。 我知道如何获取用户请求并在服务器的文件系统上创建映像,但如何创建一个显示该请求的响应页面 另外,当我使用GnuPlot生成映像时,我只知道如何将其作为文件写入文件系统,但如果您碰巧知道如何在内存中获取数据,可能会更好。 谢谢,对于磁盘上的文件,您可以在处理程序中使用 getImageR = do -- ... save image data to disk s
谢谢,对于磁盘上的文件,您可以在处理程序中使用
getImageR = do
-- ... save image data to disk somewhere
sendFile typeJpeg "/path/to/file.jpg"
要从内存中的测试环发送,请使用
getImageR=do
实际上,我认为在这种情况下,您可以使用“return”而不是sendResponse,因为您不需要任何短路。另外,如果您使用的是普通IO函数,请记住使用liftIO。
getImageR = do
bytes <- -- generate image data
sendResponse (typePng, toContent bytes)