java显示数据库图片
Ⅰ java怎样把图片保存到数据库然后读出来在html中显示
一般是将图片本体存放到OSS,图片的路径存放到数据库,然后jsp中获取的是他的路径
然后用<img src="OSS的链接/"+你数据库的图片路径> 你可以用本地图片试试 将图片本体存放在你的E盘/image下面 然后你存入数据库的是你的图片名 然后将图片上传到本地 然后使用<img src='E盘/image'+数据库里面的图片名> 就可以显示了 你可以试试
Ⅱ 读取保存在数据库里的图片JSP页面显示无法显示图片
我把你的代码稍微改造了下,我这边是可以显示图片的。代码如下:
数据库操作部分:
packagecom.database;
importjava.io.InputStream;
importjava.sql.*;
/**
*@作者王建明
*@创建日期13-10-7
*@创建时间下午12:32
*@版本号V1.0
*/
publicclassDataBaseUtil{
(){
Connectionconn=null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn=
DriverManager.getConnection("jdbc:mysql://localhost/quickstart","root","123456");
Statementstmt=conn.createStatement();
Stringsql="selectbook_imagefromtbl_bookwhereid=1";
ResultSetrs=stmt.executeQuery(sql);
if(rs.next()){
returnrs.getBinaryStream("book_image");
}
}catch(Exceptione){
System.out.println("出现异常:"+e.getMessage());
}finally{
try{
if(conn!=null)
conn.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
returnnull;
}
}
servlet部分:
packagecom.servlet;
importcom.database.DataBaseUtil;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.OutputStream;
/**
*@作者王建明
*@创建日期13-10-7
*@创建时间下午12:18
*@版本号V1.0
*/
{
protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
doGet(request,response);
}
protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
InputStreamin=DataBaseUtil.getImageStreamFromDataBase();
OutputStreamtoClient=response.getOutputStream();
response.reset();
response.setContentType("image/jpg");//或gif
intlen=10*1024*1024;
byte[]P_Buf=newbyte[len];
inti;
while((i=in.read(P_Buf))!=-1){
toClient.write(P_Buf,0,i);
}
in.close();
toClient.flush();
toClient.close();
}
}
web.xml中的servlet配置:
<servlet>
<servlet-name>ShowImage</servlet-name>
<servlet-class>com.servlet.ShowImage</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ShowImage</servlet-name>
<url-pattern>/showImage</url-pattern>
</servlet-mapping>
页面中加载图片方式:
<imgsrc="showImage"/>
希望对你有帮助O(∩_∩)O~
Ⅲ java如何读取数据库中的路径在标签框中显示图片
1、从DB得到图片路径
2、载入图片到 ImageIcon
3、显示在JLabel中,setIcon(ImageIcon)
Ⅳ 在JAVA中如何将图片从数据库读取到页面上
你只要开启一个输出流将从数据库取出来的图片(这个时候肯定是二进制数据是吧),写出来就行了.
然后在调用图片的地方调用相应的方法就可以输出了.
Ⅳ JAVA 读取 数据库中的图片显示到页面
你说你只想存ID到数据库中,那你就专门用个文件夹存放图片,ID值就是图片文件名字!从数据库得到ID后,就在<IMG SRE="这里写上绝对路径"+ID+".jpg"/>
Ⅵ Java怎么做到把图片转换成流存入数据库,然后怎么再把图片显示出来。
首先创建一个空 Blob/Clob 字段,再从这个空 Blob/Clob字段获取游标,例如下面的代码:
PreparedStatement ps = conn.prepareStatement( " insert into PICTURE(image,resume) values(?,?) " );
// 通过oralce.sql.BLOB/CLOB.empty_lob()构造空Blob/Clob对象
ps.setBlob( 1 ,oracle.sql.BLOB.empty_lob());
ps.setClob( 2 ,oracle.sql.CLOB.empty_lob());
ps.excuteUpdate();
ps.close();
// 再次对读出Blob/Clob句柄
ps = conn.prepareStatement( " select image,resume from PICTURE where id=? for update " );
ps.setInt( 1 , 100 );
ResultSet rs = ps.executeQuery();
rs.next();
oracle.sql.BLOB imgBlob = (oracle.sql.BLOB)rs.getBlob( 1 );
oracle.sql.CLOB resClob = (oracle.sql.CLOB)rs.getClob( 2 );
// 将二进制数据写入Blob
FileInputStream inStream = new FileInputStream( " c://image.jpg " );
OutputStream outStream = imgBlob.getBinaryOutputStream();
byte [] buf = new byte [ 10240 ];
int len;
while (len = inStream.read(buf) > 0 ) {
outStream.write(buf, 0 ,len);
}
inStream.close();
outStream.cloese();
// 将字符串写入Clob
resClob.putString( 1 , " this is a clob " );
// 再将Blob/Clob字段更新到数据库
ps = conn.prepareStatement( " update PICTURE set image=? and resume=? where id=? " );
ps.setBlob( 1 ,imgBlob);
ps.setClob( 2 ,resClob);
ps.setInt( 3 , 100 );
ps.executeUpdate();
ps.close();
Ⅶ java后台怎么把数据库二进制图片传到前台显示
两种思路,一种是你把图片下下来。告诉路径给前端。
另一种是你直接把图片转换成byte数组,返回给前端。前端是可以有办法的。(我用过这种用来爬虫爬
验证码
都是这么干的)
望采纳