日期:2014-05-17  浏览次数:20639 次

上一个帖子沉了,我再发一个。。。前辈们给点提示吧
用jfreechart做的预算使用预警图,在window环境下是好的。
但是在Unix的测试环境上就不显示图片,也不报错(获取数据应该是没有问题的)。

/*------得到chart的保存路径----*/ 
ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
fileName = ServletUtilities.saveChartAsPNG(chart, 650, 400, info,request.getSession());
/*------使用printWriter将文件写出----*/
PrintWriter pw = new PrintWriter(response.getWriter());
ChartUtilities.writeImageMap(pw, fileName, info, true);
pw.flush();

下图是Unix环境下图片的src应用地址。


显示文件名为null,没有得到。

在windows环境下图片被存放在了tomcat下的temp文件夹。


菜鸟,求大牛指点啊。。。

------解决方案--------------------
其实这和编程没关系,,我也曾遇到这个问题,,解决了很长时间也没解决,最后还是换成Jquery的JqPlot插件完成的。。。。在网上找了很多资料,据说总共分两个原因:
1,路径配置不正确,
2,Unix或者Linux没有中文包,不能支持中文,在生成图片的时候错误
具体我一而不是太清楚了,,因为我也没解决掉。。。。希望能帮到你
------解决方案--------------------
输出之前, setContentType