A. JSP 从数据库中如何取得图片的路径
我的笔记:
6:对数据库存取图片进行的操作:
核心思想:通过二进制流的形式进行存储和读取。
具体:存储图片:一般是通过文件上传的方式进行存储的
1.首先通过request获得表单中图片的地址
2.然后根据这个路径可以使FileInputStream获得文件输入流
3.pstmt.setBinaryStream(i,
fis,
fis.available())
最后pstmt.executeUpdate();就完成整个插入语句了。
读取:1.根据url的id传一个对应数据库摸个图片的id号
2.根据这个id执行查询,通过rst.getBinaryStream(1)返回一个输入流(里面存的是图片)
3.读输入流,放到字节数组中,再通过response返回一个能输出二进制流的ServletOutputStream实例(ServletOutputStream
sos=
response.getOutputStream();
),
4.通过这个输出流把字节数组的字节流写出
希望对你有所帮助哈
B. 谁有数据库中存的是图片路径,然后jsp页面显示图片出来
1、准备要显示的图片,并创建一个最简单的jsp页面,运行起来。
C. jsp从数据库中读取图片路径显示不出来
做个请求,然后返回的是一个文件流,把src设置为这个流的请求即可展示
D. jsp页面从数据库中取图片
把图片图片放到一个文件夹里如images下有1.jpeg
查询数据库得到数据1.jpeg
将查询到的数据和图片地址进行拼接 ……/images/<%=值%>
E. 怎么用jsp从mysql数据库中提取图片
1.去文件名
也就是
你的图片
实际上是存在你的
项目
中的
读的只是你的文件名加上
路径
就行了,
2.添加图片的时候,以IO的形式,把图片真真读到数据库,取的时候,取出来,进行一次转换,显示图片。
我知道的就是这两种思路
希望对你有用!
F. jsp在数据库读取图片然后输出到页面
首先JSP显示图片都是非常小的,除非你直接用JSP图片,(可以把图片上传到网上,用迅雷下载地址,那个地址就是那JSP图片了)显示图片是有大小限制的!,好像保持在60*60以内吧。不会超过80*80就是了,或者你直接当成背景的图片没限制!
G. 数据库中照片怎么在jsp中显示
用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>
H. jsp从数据库中读取图片显示不出来
/SkyShop/images/brand/2010/02/09/09/4599577f-7fca-4163-a752-24a3e331ea39.jpg
像一楼说的是正解,不行的原因可能是根的位置问题,自己对着检查一下。
另外你这个路径太长。。太不好测试了,先弄个简单点的。
你右键点图片,属性的地址应该是
http://localhost:8080/SkyShop/images/brand/2010/02/09/09/4599577f-7fca-4163-a752-24a3e331ea39.jpg
这个才是你的服务器上图片的地址。E:的是计算机的真实路径,和服务器上的绝对路径,相对路径不是一回事。服务器启动后,只能访问当前服务器路径之内的文件,而windows下打开html文件不受此限制,所以不能用计算机的路径。
保存到tomcat中就是保存到项目中了,如果你希望保存到源代码中,可以去改tomcat的server.xml配置文件,
<Context path="/" docBase="D:\workspace\SkyShop\ROOT"
debug="0" privileged="true">
</Context>
并删除webapps下的内容。
或者以流的方式将写到图片写到数据库中。
最后建议你去看看关于相对路径的文章,篇幅有限,说的还是不太清楚。
I. jsp从数据库中取出图片地址并显示到前台页面
把字符串断开 ,rs放进去。像下面这样写:
out.println("<img src='"+rs.getString(16).substring(47)+"' width='100' height='100' align='center'/>");
'"这三个是一个单引号一个双引号,后面的反过来,顺序别搞错了。
J. 如何用JSP从SQL server数据库中读取图片并显示在网页上
你可以把图片的路径作为参数放在数据库的某一个字段中,需要用时提取出来即可.
例如:
"image/pic1.jpg" 这是一个相对路径,你把这个字符串存入数据库后,需要用时只需从数据库提取出来就行,
<img src="
<%
String str=select * from 表名 where 条件;
ResultSet rs = null;
Statement stmt = conn.createStatement();
rs=stmt.executeQuery(str);
str=rs.getString("字段名");
out.print(str);
%>">