数据库中照片怎么在jsp中显示
D:\process\jiewenDemo\.metadata\.plugins\com.genuitec.eclipse.easie.tomcat.myeclipse\...
D:\process\jiewenDemo\.metadata\.plugins\com.genuitec.eclipse.easie.tomcat.myeclipse\tomcat\work\Catalina\localhost\jiewenDemo\upload_92462900_76af_4a9f_85bc_57a979fd91af_00000002.tmp我的照片在数据库中存的是这个路径
展开
推荐于2017-09-11 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:25897
获赞数:1464983
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。
向TA提问 私信TA
关注
展开全部
用JSP从数据库中读取图片并显示在网页上:
环境mysql+tomcat:
<1>先在mysql下建立如下的table. 并insert图像
mysql.sql文件如下:
CREATE TABLE photo (
photo_no int(6) unsigned NOT NULL auto_increment,
image blob,
PRIMARY KEY (`photo_no`)
)
<2>把show.jsp放在tomcat的任意目录下. show.jsp作用:从数据库中读出blob,并产生image/jpg.
show.jsp文件如下:
<%@ page contentType="text/html; charset=gbk" %>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*, javax.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.math.*"%>
<%
String photo_no = request.getParameter("photo_no");
//mysql连接
Class.forName("com.mysql.jdbc.Driver").newInstance();
String URL="jdbc:mysql://localhost:3306/job?user=root&password=111111";
Connection con = DriverManager.getConnection(URL);
//oracle连接
//String URL="jdbc:oracle:thin@localhost:1521:orcl2";
//user="system";
//password="manager";
//Connection con = DriverManager.getConnection(URL,user,password);
try{
// 准备语句执行对象
Statement stmt = con.createStatement();
String sql = " SELECT * FROM PHOTO WHERE photo_no = "+ photo_no;
ResultSet rs = stmt.executeQuery(sql);
if (rs.next()) {
Blob b = rs.getBlob("photo_image");
long size = b.length();
//out.print(size);
byte[] bs = b.getBytes(1, (int)size);
response.setContentType("image/jpeg");
OutputStream outs = response.getOutputStream();
outs.write(bs);
outs.flush();
rs.close();
}
else {
rs.close();
response.sendRedirect("./images/error.gif");
}
}
finally{
con.close();
}
%>
<3>把如下文件放在show.jsp的同一目录下.
index.html文件如下:
<HTML>
<HEAD>
<TITLE> 图像测试 </TITLE>
</HEAD>
<BODY>
<TABLE>
<TR>
<TD>图像测试</TD>
</TR>
<TR>
<TD><img src="show.jsp?photo_no=2"></TD>
</TR>
</TABLE>
</BODY>
</HTML>
环境mysql+tomcat:
<1>先在mysql下建立如下的table. 并insert图像
mysql.sql文件如下:
CREATE TABLE photo (
photo_no int(6) unsigned NOT NULL auto_increment,
image blob,
PRIMARY KEY (`photo_no`)
)
<2>把show.jsp放在tomcat的任意目录下. show.jsp作用:从数据库中读出blob,并产生image/jpg.
show.jsp文件如下:
<%@ page contentType="text/html; charset=gbk" %>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*, javax.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.math.*"%>
<%
String photo_no = request.getParameter("photo_no");
//mysql连接
Class.forName("com.mysql.jdbc.Driver").newInstance();
String URL="jdbc:mysql://localhost:3306/job?user=root&password=111111";
Connection con = DriverManager.getConnection(URL);
//oracle连接
//String URL="jdbc:oracle:thin@localhost:1521:orcl2";
//user="system";
//password="manager";
//Connection con = DriverManager.getConnection(URL,user,password);
try{
// 准备语句执行对象
Statement stmt = con.createStatement();
String sql = " SELECT * FROM PHOTO WHERE photo_no = "+ photo_no;
ResultSet rs = stmt.executeQuery(sql);
if (rs.next()) {
Blob b = rs.getBlob("photo_image");
long size = b.length();
//out.print(size);
byte[] bs = b.getBytes(1, (int)size);
response.setContentType("image/jpeg");
OutputStream outs = response.getOutputStream();
outs.write(bs);
outs.flush();
rs.close();
}
else {
rs.close();
response.sendRedirect("./images/error.gif");
}
}
finally{
con.close();
}
%>
<3>把如下文件放在show.jsp的同一目录下.
index.html文件如下:
<HTML>
<HEAD>
<TITLE> 图像测试 </TITLE>
</HEAD>
<BODY>
<TABLE>
<TR>
<TD>图像测试</TD>
</TR>
<TR>
<TD><img src="show.jsp?photo_no=2"></TD>
</TR>
</TABLE>
</BODY>
</HTML>
展开全部
正常存储文件需要执行服务器的绝对路径,不可以使用相对上下文的路径,因为当工程打包后,上下文的相对路径可能会有变动,并且文件不能存储在工程目录下,也因为工程打包之后获取不到路径
要在页面显示图片,采用html的img标签:
<img src="图片存储在服务器中的绝对路径"/>
要在页面显示图片,采用html的img标签:
<img src="图片存储在服务器中的绝对路径"/>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据库里存的是相片的路径。
要在前台显示出来,可用此标签
<img src="路径" />
//因此,可以看出来,显示图片,就是一个读图片路径的过程。
追问
试过了,不可以
追答
注意这个路径,是你服务器的路径,你不要写成了硬盘的路径。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-24
展开全部
存的路径错误,需改成相对路径
追问
我用的是jsp中type的file存的,怎么存?
追答
取最后的文件名就行了,前面用程序自定义一个路径如:
/uploadfile/upload.txt
uploadfile是根目录下的文件夹
upload.txt是上传文件的文件名
将上传的文件路径指定为uploadfile
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也遇到了同样的问题,请问楼主解决了吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询