Могу ли я сохранить изображение - PullRequest
0 голосов
/ 12 февраля 2011

Я кодировал JSP, который будет показывать изображение в браузере.

Но я также хочу сохранить это изображение на стороне сервера.

Я искал ответ, новсе еще не знаете, как сохранить.

Что я должен кодировать для сохранения выходного изображения?

<%@ page import="java.awt.*" %>
<%@ page import="java.awt.image.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="com.sun.image.codec.jpeg.*" %>
<%
   Class.forName("org.gjt.mm.mysql.Driver");
   java.sql.Connection connection = java.sql.DriverManager.getConnection("jdbc:mysql://localhost/clothes","root","clothes");
   Statement statement0 = connection.createStatement();
   ResultSet rs = statement0.executeQuery("select * from clothes");

   int i= 20;
   BufferedImage Image = new BufferedImage(600,380, BufferedImage.TYPE_INT_RGB);
   Graphics2D graphics = (Graphics2D) Image.getGraphics();

   while(rs.next()) { 
        String Product = rs.getString("clothes_name");
        graphics.setColor(Color.white);
        graphics.drawString( Product ,15,i);        
        int Stock = Integer.parseInt(rs.getString("Sales Record"));
        if ( Stock >= 25 ) graphics.setColor(Color.green);
        if ( Stock >= 15 && Stock < 25  ) graphics.setColor(Color.yellow);
        if ( Stock < 15  ) graphics.setColor(Color.red);
        graphics.fillRect( 20,i+5, (Stock*10), 10);        
        i=i+30;
   }
    rs.close();
    connection.close();
    response.reset();
    ServletOutputStream OutStream = response.getOutputStream();
    JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(OutStream);
    encoder.encode(Image);
    //I want to save this image, how to do so?
    OutStream.close();
%>

1 Ответ

1 голос
/ 12 февраля 2011

Вы можете использовать большую часть того же кода. Вам просто нужно заменить

ServletOutputStream OutStream = response.getOutputStream();

от

OutputStream OutStream = new FileOutputStream("/path/to/file.jpg");

Вне зависимости от конкретной проблемы, обратите внимание, что Соглашения об именах Java указывают, что имена переменных должны начинаться со строчной буквы. Также обратите внимание, что делать это в файле JSP вместо Java-класса - это , а не . Это делает код Java неиспользуемым обычными классами Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...