java - 我可以保存图像吗

标签 java jsp image-processing

我编写了一个 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();
%>

最佳答案

您可以使用大部分相同的代码。您只需更换

ServletOutputStream OutStream = response.getOutputStream();

OutputStream OutStream = new FileOutputStream("/path/to/file.jpg");
<小时/>

与具体问题无关,请注意Java naming conventions声明变量名应该以小写字母开头。另请注意,在 JSP 文件而不是 Java 类中执行此操作是 not最佳实践。它使得 Java 代码无法被普通 Java 类重用。

关于java - 我可以保存图像吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4976402/

相关文章:

java - 将代码添加到带有 Instrumentation : ASM or BCEL? 的 Java 类

javascript - 尝试将提交按钮的状态从禁用更改为启用

python - 如何在OpenCV中从此阈值图像中消除噪点?

java - IE Ajax 非 ascii 字符问题

javascript - Uncaught ReferenceError : is not defined

c++ - 需要帮助使用 libpng 读取图像

.net - 为什么用 System.Drawing 创建的 JPEG 图像比原始位图大?

java - 为什么 Maven 抛出类似 `must be "pom"的错误,但实际上是 "jar"`?

java - 如何使用 Gson、Retrofit、Active Android 将嵌套 JSON 对象反序列化为字符串

java - 为什么找不到 JAR 中的模块?