我有一个图表,我想用网站上的图片来表示。问题是根据图表的当前状态动态生成此图像。
我正在使用带有C#的ASP.Net MVC 3。
我一直在考虑使用某种工具(Graphviz等)在硬盘上生成图像,然后将文件的路径传递给视图。
安全性不是一个真正的问题,因为现在这只是基于内部项目的工作,更容易实现安全性。
我一直在尝试使用quickgraph,最终我已经生成了DOT文件(显然它忽略了我尝试制作PNG),但是代码失败了,因为程序无法访问生成文件的位置。我想这很容易解决。
您对我如何做到这一点有什么建议吗(如果我应该做一些完全不同的事情,或者我如何将DOT文件呈现为PNG)?
祝你好运, 丹尼尔
答案 0 :(得分:2)
只是想注意我使用Google图表解决了这个问题,他们有实验性的Graphviz支持:http://code.google.com/apis/chart/image/docs/gallery/graphviz.html
只需生成一个网址并在网页上插入外部图片即可。
答案 1 :(得分:0)
如果图库允许,请将结果写入内存流,并使用密钥将其放入Cache(System.Web.HttpRuntime.Cache)中。
使用该键在视图中生成img标记并指向控制器('Image')中的操作('View'?),如“/ Image / View / 392838”。
创建此控制器并从那里查看和提供内容(确保包含正确的MIME类型,内容类型等)。
在缓存中为对象指定一个体面的生命周期,例如15秒,滑动到期。