「java数据库插入图片」java图片存数据库
本篇文章给大家谈谈java数据库插入图片,以及java图片存数据库对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、在java代码中怎么从服务器上把图片拿来放到数据库里
- 2、java数据库中blob字段插入图片的问题
- 3、数据库Image怎么用,怎么用Java程序将图片插入数据库,又怎么读取出来并显示,还有在定义时要指定大小吗
- 4、如何在Java程序中选择添加图片,再存到数据库中
- 5、Java web开发中怎么把图片存入数据库
在java代码中怎么从服务器上把图片拿来放到数据库里
大概流程:
1.上传插件的选择:此篇博文选择的是jQuery的zyupload文件上传插件;
2.上传请求发起后,java代码的处理:你是要将上传的图片只保存在服务器还是只保存在数据库还是说两者都采取。上传到服务器很简单,保存到数据库也很简单,但是此处需要考虑业务,图片保存在数据库时采用哪种保存方式(本博文业务来自于项目,因为图片数量巨多,故在数据库是通过保存图片的路径实现的,并非二进制流);
3.图片保存在数据库后,在前段页面的回显功能。
java数据库中blob字段插入图片的问题
ORACLE好像不支持blob存多个值,你可以另外建立一张表叫image_tab两个字段一个是主键id,还有一个就是image(blob只存一张图片信息).然后你这张表字段中存image_tab的主键,如果有多个可以这样1,2,3...用逗号隔开。
数据库Image怎么用,怎么用Java程序将图片插入数据库,又怎么读取出来并显示,还有在定义时要指定大小吗
将图片插入数据库时,首先将图片转换成二进制格式,同样读取的时候将二进制再解析回来就OK了
解析二进制:
int length = 0;
ServletOutputStream toClient = null;
byte[] buf = null;
Blob image = dengji.getTupian(); //dengji 实体 从数据库中获取
try {
length = (int)image.length();//取得流中可用的字节总数
buf = image.getBytes(1, length);//获取Blob字节数组
this.getResponse().setContentType("image/jpeg");
this.getResponse().setHeader("Pragma", "No-cache");
this.getResponse().setHeader("Cache-Control", "no-cache");
this.getResponse().setDateHeader("Expires", 0);
toClient = this.getResponse().getOutputStream();//获取输出流
for(int i = 0 ; i buf.length ; i++ ){
toClient.write(buf[i]);//输出到页面
}
toClient.close();//关闭输出流
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
如何在Java程序中选择添加图片,再存到数据库中
存储图片:
//加载驱动程序类
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:denglu","sa","sa");
//建立数据库联机,其中denglu为数据库名,sa为连接数据库的帐号及密码。
Statement stmt=con.createStatement(); //建立Statement对象
FileInputStream str=new FileInputStream(filename); //图片文件路径
String sql="insert into picturenews(id,image) values(?,?,?)";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1,id); //ID号
pstmt.setBinaryStream(2,str,str.available()); //图片数据
pstmt.execute();
//将数据存入数据库
out.println("Success,You Have Insert an Image Successfully");
图片读取:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:denglu","sa","sa");
Statement stmt=con.createStatement();
ResultSet rs=null;
String sql = "select image from picturenews WHERE id="+id;
rs=stmt.executeQuery(sql);
if(rs.next()) {
//图片输出的输出流
InputStream in = rs.getBinaryStream("image");
byte b[] = new byte[0x7a120];
for(int i = in.read(b); i != -1;)
{
//将缓冲区的输入输出到页面
in.read(b);
}
}
/**
* 获得数据后可以按照自己的方法进行处理或者显示
*/
JLabel label=new JLabel(new ImageIcon(b)); //用JLabel进行显示
.....
Java web开发中怎么把图片存入数据库
两种方式:
把图片转换 ‘流数据’ 直接存在数据库图片字段中。
把图片 ‘流数据’ 存在文件夹内,数据库字段存对应图片地址。
第一种因为是直接存图片数据,写入读取比第二种慢,会占用数据库资源。
硬盘速度 数据库
图片转换成流数据,流转换成图片,具体方法你需要搞懂。看博客看到的。(我也没写过 [滑稽])
关于java数据库插入图片和java图片存数据库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。