当前位置:首页 » 操作系统 » jsp读取数据库的图片

jsp读取数据库的图片

发布时间: 2022-04-19 17:53:00

1. jsp读取数据库的图片

你数据库里存的路径是相对项目的路径还是相对磁盘的文件路径??
如果是类似于E:\images\demo.jpg这样的路径存到数据库里也不能直接显示,只能用IO将文件读到流里面在页面上输出才可以显示图片
是相对于项目的路径images/demo.jpg这样的路径楼上的答案就可以解决你的问题了。

2. jsp页面从数据库中取图片

把图片图片放到一个文件夹里如images下有1.jpeg
查询数据库得到数据1.jpeg
将查询到的数据和图片地址进行拼接 ……/images/<%=值%>

3. jsp显示数据库存储目录的图片

首先,代码是不会有的了。
其次你要把图片存入数据库,数据库只存储图片的目录。这两句话本身就互斥好吧……姑且以后半句为例,讲讲思路。
你在一个文件夹中存储了图片,在数据库里应该有个表。这个表起码有ID,有文件名filename,有路径这三个字段。路径path存储的是相对路径,并且是你项目有权访问的路径。
java程序中读取这个表的数据,将path和filename拼接成完整的相对路径+文件名的形式。在eclipse中新建jsp的时候,会自动生成获取basePath的代码。basePath是当前页面所在项目的根目录,用basePath
+
path
+
filename就可以显示出图片了

4. 如何用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);
%>">

5. 如何读取JSP页面的图片路径存在数据库中

你把输入yu的
字符串
拿到后,把它节下来,把相应
路径
放到数据库里面,如果是要显示出来的话,要看看你的、
页面
相对于那个放在数据库里的路径做相应的操作,把路径拼出来就行了,这个我做过了,很成功

6. 怎么用jsp从mysql数据库中提取图片

1.去文件名
也就是你的图片实际上是存在你的项目中的
读的只是你的文件名加上路径就行了,
2.添加图片的时候,以IO的形式,把图片真真读到数据库,取的时候,取出来,进行一次转换,显示图片。
我知道的就是这两种思路
希望对你有用!

7. 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.通过这个输出流把字节数组的字节流写出
希望对你有所帮助哈

8. 读取保存在数据库里的图片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~

9. 真是怪事,jsp中从数据库中显示图片的问题

代码不全,也就不能仔细说了,就事论事吧
1.你要注意,数据库里存的图片的路径是绝对路径还是相对路径,如果测试阶段总是图片出问题,先暂时换成绝对路径,测试通过说明代码没问题了,再换成相对路径。
2.如果采用相对路径的话,推荐加上basepath设置,以下来自myEclipse:
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<base href="<%=basePath%>">
这样的话,路径就都有了统一的参照点,就不容易出问题了。
3.你的代码我没去试,不过我的图片显示一般是通过<img/>标签,毕竟有专门给的,还去写麻烦的干啥,而且写js的时候也方便。
4.搜狗浏览器有两个内核,一个IE,另一个忘记了,没怎么用过。IE内核对好多的东西是支持很差(但。。至少图片显示不会有问题的。。。。不用说,你冲着路径方向找吧!),开发起来让人反胃,但奈何人家客户群大,将就吧,没办法。

10. 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下的内容。
或者以流的方式将写到图片写到数据库中。

最后建议你去看看关于相对路径的文章,篇幅有限,说的还是不太清楚。

热点内容
立式三轴加工中心的配置有哪些 发布:2024-09-30 19:25:05 浏览:191
本机密码怎么查看 发布:2024-09-30 19:14:17 浏览:797
androidactivity退出 发布:2024-09-30 19:06:57 浏览:193
拼多多抢券脚本 发布:2024-09-30 18:58:48 浏览:654
怎么像服务器一样用页面传送 发布:2024-09-30 18:49:21 浏览:367
lol电脑脚本 发布:2024-09-30 18:49:16 浏览:150
ip地址怎么看服务器主题 发布:2024-09-30 18:31:53 浏览:88
华为存储误码率 发布:2024-09-30 18:31:50 浏览:122
广西省农信登录密码是多少 发布:2024-09-30 18:31:45 浏览:555
安卓没有谷歌怎么玩pubg 发布:2024-09-30 18:00:22 浏览:579