首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用servlets显示图像

使用servlets显示图像
EN

Stack Overflow用户
提问于 2011-07-04 17:32:25
回答 1查看 1.3K关注 0票数 1

我有一个场景,我需要显示表(使用JTable生成),将其转换为png图像,然后使用servlet显示它们。

以下是servlet中用于显示表的代码:

代码语言:javascript
复制
{
        table = u.generateTableChart("datamonth");    
        saveToServlet(table, table.getTableHeader(), p_resp);
}

void saveToServlet(JTable table, JTableHeader header,
            HttpServletResponse p_resp)
    {

        int w = Math.max(table.getWidth(), header.getWidth());
        int h = table.getHeight() + header.getHeight();
        OutputStream out = null;
        BufferedImage bi = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
        Graphics2D g2 = bi.createGraphics();
        header.paint(g2);
        g2.translate(0, header.getHeight());
        table.paint(g2);
        g2.dispose();
        try {
            p_resp.setContentType("image/png");
            out = p_resp.getOutputStream();
            ImageIO.write(bi, "png", out);

        } catch (IOException ioe) {
            System.out.println("write: " + ioe.getMessage());
        }
    }

这似乎抛出了这个错误,当我试图在网页上查看它时,图像无法显示,因为它有太多错误。

我能够将文件存储在一个临时位置,并且我能够看到图表。

对于使用JFreeCharts生成的图表,我使用的是:

代码语言:javascript
复制
 ServletOutputStream out = null;

    try {
        out = p_resp.getOutputStream();
        p_resp.setContentType("image/png");
        chart=u.genarateLineChart(m_martiniInstance);
        ChartUtilities.writeChartAsJPEG(out, chart, 625, 500); 
    }

还是不走运

先谢谢你,Bhavya

EN

回答 1

Stack Overflow用户

发布于 2011-07-04 17:39:56

我认为问题是您将内容类型设置为"image/png",但是使用jpeg writeChartAsJPEG编写

代码语言:javascript
复制
ChartUtilities.writeChartAsPNG(...)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6569606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档