java图片存到数据库
A. java和数据库可以连接,但是怎么把图片放到数据库中。
java基本上可以任何数据库进行连接,比如:mysql,sqlserver,oracle等,只是连接的方式,驱动不同罢了。
存图片的问题:一般来讲都是存的路径,如果你非要存图片也能存,需要把图片转换成二进制字节,进行存储。
如果强调安全,存二进制。
如果强调方便,存路径。
B. 如何在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进行显示
.....
C. Java web开发中怎么把图片存入数据库
两种方式:
把图片转换 ‘流数据’ 直接存在数据库图片字段中。
把图片 ‘流数据’ 存在文件夹内,数据库字段存对应图片地址。
第一种因为是直接存图片数据,写入读取比第二种慢,会占用数据库资源。
硬盘速度 > 数据库
图片转换成流数据,流转换成图片,具体方法你需要搞懂。看博客看到的。(我也没写过 [滑稽])
D. 在java中如何将图片保存到数据库
存取图片就是二进制数据的存取问题
把图片以文件的时候读入到程序中
转换成byte
以byte显示保存到数据库中
另外,access保存文件~~不合适~
---------------------------
显示和存储没关系,看你要怎么显示了~显示到浏览器?
E. java怎样把图片保存到数据库然后读出来在html中显示
一般是将图片本体存放到OSS,图片的路径存放到数据库,然后jsp中获取的是他的路径
然后用<img src="OSS的链接/"+你数据库的图片路径> 你可以用本地图片试试 将图片本体存放在你的E盘/image下面 然后你存入数据库的是你的图片名 然后将图片上传到本地 然后使用<img src='E盘/image'+数据库里面的图片名> 就可以显示了 你可以试试
F. 在java中怎样将图片存入数据库
一般不需要把图放到数据库 如果一定要放 一船使用blob字段存放