Java存储图片到Mysql

本文详细介绍了如何使用Java将图片存储到MySQL数据库中,包括视图层的表单设置、控制器处理文件上传、DAO层操作数据库以及PO层的实体类定义。还提供了关键代码示例,如ServletFileUpload解析请求、DiskFileItemFactory处理文件存储以及向数据库插入Blob类型数据的方法。最后,文章总结了Mysql存储图片的数据类型,并展示了如何从数据库中取出图片进行显示。
摘要由CSDN通过智能技术生成

Java存储图片到Mysql

 

【1】视图层

 <link href="${ctx}/Content/layui/css/layui.css" rel="stylesheet" />

<form class="layui-form" id="fruserInfor" method="post" enctype="multipart/form-data"

action="${ctx}/web/UserInforServlet?method=userInforServlet" >

    <div class="layui-form-item" >

        <label class="layui-form-label label-txt"></label>

            <img src="http://m.zhengjinfan.cn/images/0.jpg" class="layui-nav-img layui-upload-img" id="userImge" name="userImge" > 

         <button type="button" class="layui-btn" id="upImage"><i class="layui-icon"></i>更换头像</button>

    </div>                 

    <div class="layui-form-item" style="margin: 0px 0px 0px 100px;">

            <div class="layui-input-block">

            <button class="layui-btn" id="saveUserInfor">立即提交</button>

            <button type="reset" class="layui-btn layui-btn-primary">重置</button>

             </div>

    </div>

</form>

<script src="${ctx}/Content/jquery-3.3.1/jquery-3.2.1.min.js"></script>

<script  src="${ctx}

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java可以使用以下步骤将图像保存到数据库中: 1. 加载图片:使用Java中的ImageIO类加载要保存图片。 2. 将图像转换为字节数组:可以使用ByteArrayOutputStream将图像转换为字节数组。 3. 连接到数据库:使用Java中的JDBC API建立到数据库的连接。 4. 插入数据:使用PreparedStatement类的setBinaryStream()方法将字节数组插入到数据库中。 下面是一个示例代码,演示了如何将图片保存到数据库中: ```java import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import javax.imageio.ImageIO; public class ImageToDatabaseExample { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/mydatabase"; String username = "root"; String password = "password"; String filepath = "/path/to/image.jpg"; String query = "INSERT INTO images (name, image) VALUES (?, ?)"; try (Connection conn = DriverManager.getConnection(url, username, password); PreparedStatement pstmt = conn.prepareStatement(query)) { File file = new File(filepath); BufferedImage image = ImageIO.read(file); ByteArrayOutputStream baos = new ByteArrayOutputStream(); ImageIO.write(image, "jpg", baos); byte[] imageData = baos.toByteArray(); pstmt.setString(1, file.getName()); pstmt.setBinaryStream(2, new ByteArrayInputStream(imageData), imageData.length); pstmt.executeUpdate(); System.out.println("Image saved to database."); } catch (SQLException | IOException e) { e.printStackTrace(); } } } ``` 在上面的示例代码中,假设有一个名为“images”的表,其中包含两个列:“name”和“image”。可以根据需要更改表和列名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值