在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

将图片添加到mysql中的方法

91次阅读
没有评论

共计 3578 个字符,预计需要花费 9 分钟才能阅读完成。

自动写代码机器人,免费开通

丸趣 TV 小编给大家分享一下将图片添加到 mysql 中的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

将图片添加到 mysql 中的方法:首先将数据库存储图片的字段类型设置为 blob 二进制大对象类型;然后将图片流转化为二进制;最后将图片插入数据库即可。

正常的图片储存要么放进本地磁盘,要么就存进数据库。存入本地很简单,现在我在这里记下如何将图片存进 mysql 数据库

如果要图片存进数据库   要将图片转化成二进制。

1. 数据库存储图片的字段类型要为 blob 二进制大对象类型

2. 将图片流转化为二进制

下面放上代码实例

一、数据库

CREATE TABLE `photo` (`id` int(11) NOT NULL,
 `name` varchar(255) DEFAULT NULL,
 `photo` blob,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

二、数据库链接

/**
package JdbcImgTest;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
 * @author Administrator
public class DBUtil
 // 定义数据库连接参数
 public static final String DRIVER_CLASS_NAME = com.mysql.jdbc.Driver 
 public static final String URL = jdbc:mysql://localhost:3306/test 
 public static final String USERNAME = root 
 public static final String PASSWORD = root 
 // 注册数据库驱动
 static
 Class.forName(DRIVER_CLASS_NAME);
 catch (ClassNotFoundException e)
 System.out.println( 注册失败!e.printStackTrace();
 // 获取连接
 public static Connection getConn() throws SQLException
 return DriverManager.getConnection(URL, USERNAME, PASSWORD);
 // 关闭连接
 public static void closeConn(Connection conn)
 if (null != conn)
 conn.close();
 catch (SQLException e)
 System.out.println( 关闭连接失败!e.printStackTrace();
 // 测试
/* public static void main(String[] args) throws SQLException
 System.out.println(DBUtil.getConn());
}

三、图片流

package JdbcImgTest;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
 * @author Administrator
public class ImageUtil
 // 读取本地图片获取输入流
 public static FileInputStream readImage(String path) throws IOException
 return new FileInputStream(new File(path));
 // 读取表中图片获取输出流
 public static void readBin2Image(InputStream in, String targetPath)
 File file = new File(targetPath);
 String path = targetPath.substring(0, targetPath.lastIndexOf( /));
 if (!file.exists())
 new File(path).mkdir();
 FileOutputStream fos = null;
 fos = new FileOutputStream(file);
 int len = 0;
 byte[] buf = new byte[1024];
 while ((len = in.read(buf)) != -1)
 fos.write(buf, 0, len);
 fos.flush();
 catch (Exception e)
 e.printStackTrace();
 finally
 if (null != fos)
 fos.close();
 catch (IOException e)
 e.printStackTrace();}

四、转码存储

package JdbcImgTest;
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
 * @author Administrator 测试写入数据库以及从数据库中读取
public class ImageDemo
 // 将图片插入数据库
 public static void readImage2DB()
 String path = D:/Eclipse/eclipseWorkspace/TestProject/Img/mogen.jpg 
 Connection conn = null;
 PreparedStatement ps = null;
 FileInputStream in = null;
 in = ImageUtil.readImage(path);
 conn = DBUtil.getConn();
 String sql = insert into photo (id,name,photo)values(?,?,?) 
 ps = conn.prepareStatement(sql);
 ps.setInt(1, 1);
 ps.setString(2, Tom 
 ps.setBinaryStream(3, in, in.available());
 int count = ps.executeUpdate();
 if (count 0)
 System.out.println( 插入成功!else
 System.out.println( 插入失败!catch (Exception e)
 e.printStackTrace();
 finally
 DBUtil.closeConn(conn);
 if (null != ps)
 ps.close();
 catch (SQLException e)
 e.printStackTrace();
 // 读取数据库中图片
 public static void readDB2Image()
 String targetPath = C:/Users/Jia/Desktop/mogen.jpg 
 Connection conn = null;
 PreparedStatement ps = null;
 ResultSet rs = null;
 conn = DBUtil.getConn();
 String sql = select * from photo where id =? 
 ps = conn.prepareStatement(sql);
 ps.setInt(1, 1);
 rs = ps.executeQuery();
 while (rs.next())
 InputStream in = rs.getBinaryStream( photo 
 ImageUtil.readBin2Image(in, targetPath);
 catch (Exception e)
 e.printStackTrace();
 finally
 DBUtil.closeConn(conn);
 if (rs != null)
 rs.close();
 catch (SQLException e)
 e.printStackTrace();
 if (ps != null)
 ps.close();
 catch (SQLException e)
 e.printStackTrace();
 // 测试
 public static void main(String[] args)
 //readImage2DB();
 readDB2Image();}

看完了这篇文章,相信你对将图片添加到 mysql 中的方法有了一定的了解,想了解更多相关知识,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-18发表,共计3578字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 成人av鲁丝片一区二区免费 | 自拍 亚洲 欧美 卡通 另类 | 久久福利国产 | 精品国产一区二区三区四区色 | 免费国产成人高清无线看软件 | www噜噜偷拍在线视频 | 强奸乱伦影音先锋 | 综合久久久久6亚洲综合 | 亚洲男人第一av网站 | 久久久久久午夜精品 | 亚洲精品国产第一综合99久久 | 欧美成人高清手机在线视频 | 亚洲 欧美 国产 制服 动漫 | 自拍视频一区二区 | 无遮挡国产高潮视频免费观看 | 亚洲国产精品日韩av不卡在线 | 国内自拍网红在综合图区 | 国产精品无码一区二区三区电影 | 欧美美女一区二区三区 | 精品国产不卡一区二区三区 | 国产精品国产欧美综合一区 | 饥渴的熟妇张开腿呻吟视频 | 无遮挡国产高潮视频免费观看 | 国产精品国产三级国av在线观看 | 亚洲精品装饰一二三有限公司 | 久草操| 日韩欧美 在线播放 | 国产成人综合久久免费导航 | 久久无码专区国产精品s | 亚洲欧美手机在线观看 | 国产成人福利视频在线观看 | 91碰碰视频 | aaaaa级少妇高潮大片免费看 | 久久亚洲成人 | 国产福利影院 | 成人黄色小视频在线观看 | 中文字幕一区中文亚洲 | 天天澡日日澡狠狠欧美老妇 | 精品一区二区三区视频在线观看 | 国产亚洲一区二区在线观看 | 亚洲av无码不卡一区二区三区 |