社区
Web 开发
帖子详情
如何用jsp读取数据库中的二进制图象
Olics
2002-11-06 03:39:52
我现在的系统是Windows2000+SQL2000+Apache+Tomcat+JDK1.4
我想请问,如何把数据库中的二进制图象读出来并在jsp页面中显示
谢谢!!!
...全文
217
3
打赏
收藏
如何用jsp读取数据库中的二进制图象
我现在的系统是Windows2000+SQL2000+Apache+Tomcat+JDK1.4 我想请问,如何把数据库中的二进制图象读出来并在jsp页面中显示 谢谢!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
aper168
2002-11-06
打赏
举报
回复
建议用文件上载:
文件上载轻松实现
现在JSP被越来越多的人应用在后台程序的开发及动态网页的制作上了,今天就来介绍一下如何用JSP来实现文件的上载。
一、RFC1867规范
在过去的Html中,表单不能实现文件的上传,这多少限制了一些网页的功能。RFC1867规范(即Html中实现基于表单的文件上传)对表单作出了扩展,增加了一个表单元素&:ltinput type=file>。通过使用这个元素,浏览器会自动生成一个输入框和一个按钮,输入框可供用户填写本地的文件名和路径名,按钮可以让浏览器打开一个文件选择框供用户选择文件。具体的表单实现如下:
<FORM ACTION=upload.jsp ENCTYPE=″multipart/form-data″ METHOD=POST>
Please input your name
<input type=text name=user><br> Please give us the file
<INPUT TYPE=FILE NAME=file1>
<input type=submit value=″Send file″>
</FORM>
特别需要指出的是,只有Netscape 3和IE3.02以后的版本才支持此规范,而且我们实践下来发现文件选择按钮是浏览器自动生成的,因而按钮的文字和浏览器版本有很大的关系,如果是中文的IE,按钮的文字是“打开...”;英文的Netscape则显示“Browse...”;如果是Opera,则只有″...″。用户没办法自己设定按钮文字,不能不说是一种遗憾。除了浏览器,网络服务器也要能支持此规范,好在现在市面上绝大部分服务器软件都没有问题,微软的IIS在增加一个插件后也能很好地支持此规范。
二、组件的安装
在用户端实现文件上传后,就要用JSP来处理用户的上传请求。我们可以去www.jspsmart.com下载一个免费的组件来实现这一功能。在安装之前先确认你的JSP服务器软件支持JDK1.2.2和JSP1.1,然后只要在Server的class路径中加入该组件所在的目录就可以了。
三、程序实现
1.文件上传
<%@ page language=″java″ import=″com.jspsmart.upload.″%>
<HTML>
<BODY BGCOLOR=″white″>
<H1>jspSmartUpload </H1>
<HR>
<% int count=0 //设置变量 SmartUpload mySmartUpload=new SmartUpload
mySmartUpload.initializepageContext //初始化
mySmartUpload.upload //上传 ry
count = mySmartUpload.save″/upload″ //把上传的文件保存在/upload目录下 out.printlncount + ″ files uploaded.″ //显示上传了多少个文件
catch Exception e out.printlne.toString %>
</BODY>
</HTML>
需要注意:调试的时候要确认上传文件所存储的目录有可写属性。
2.表单处理
由于上传文件的表单使用了 ENCTYPE=″multipart/form-data″属性,所以在JSP中处理表单传递的值的时候不能再简单地使用request.getParameter了,而应该这样来处理:
<%@ page language=″java″ import=″com.jspsmart.upload.″%>
<HTML>
<BODY BGCOLOR=″white″>
<H1>jspSmartUpload </H1>
<HR>
<% SmartUpload myUpload=new SmartUpload myUpload.initializepageContext myUpload.upload out.println″Number of files = ″ + myUpload.getFiles.getCount + ″<BR>″ out.println″
<BR>
<BR>
<STRONG>Display information about Requests</STRONG>
<BR>″
String[ ]values = myUpload.getRequest
.getParameterValues″formtag″ //formtag为表单中元素的name,返回的值为字符数组中第一个元素。 out.printkey + ″ = ″+values0
%>
</body>
</html>
3.其他API myUpLoad.setAllowedFilesList″txtdocxls″
设定可以上传的文件的后缀名; myUpLoad.setDeniedFilesList″batexecomjsp″ 设定不能上传的文件的后缀名;
myUpLoad.setMaxFileSize100000设定单个文件的最大字节数;
myUpLoad.setTotalMaxFileSize100000 设定所有上传文件的最大字节数;
myUpload.uploadInFile″/myData.txt″ 把表单的内容全部存储到myData.txt保存;
myUpload.getFiles.getCount 获得上传的文件的个数;
myUpload.getFiles.getSize 获得上传的文件的总字节数;
myUpload.getFiles.getFileid.getFileName 获得指定ID号文件的文件名;
myUpload.getFiles.getFileid.getFilePathName 获得指定ID号文件的路径名;
myUpLoad.getFiles.getFile0.isMissing 返回一布尔值以确定用户是否上传了文件。
四、其他功能 JspSmartUpload除了能把上传文件保存到硬盘,还能直接把文件插入到数据库,同时还能实现文件下载的功能,相信随着大家的深入研究,一定能将这一功能更好地应用到自己的实践中去。
Olics
2002-11-06
打赏
举报
回复
谢谢!!
topmint
2002-11-06
打赏
举报
回复
高人教我
showImage.jsp
<%@ page language="java" import="java.sql.*"%>
<%@ page import="java.io.*"%>
<%@ page contentType="text/html;charset=gb2312"%>
<%
try {
String id=request.getParameter("id");
..//此处联数据库
String cmd="select image from news WHERE id ="+id;
PreparedStatement sql=con.prepareStatement(cmd);
ResultSet rs = sql.executeQuery();
rs.next();
InputStream in = rs.getBinaryStream("image");
response.reset();
response.setContentType("image/jpeg");
byte[] b = new byte[1024];
int len;
while((len=in.read(b)) >0)
response.getOutputStream().write(b,0,len);
in.close();
rs.close();
}
catch(Exception e)
{ out.println(e);}
%>
使用:
页面显示图片<img src="showImage.jsp?id=<%=id%>">
二进制
流的存储、
读取
和显示(在浏览器)
二进制
流的存储、
读取
和显示(在浏览器) 存储:
数据库
中
(SQLServer)
二进制
流有一种专门的类型(image)表示,它是
数据库
定义的专门存放
二进制
流的类型。 在Java
中
,将文件首先转换成
二进制
流,File file = 得到文件的方法(返回的是File类型);然后FileInputStream f`is = new FileInputStream(file);fis就是最后要存放到数
用
JSP
+Servlet实现
二进制
图像的动态显示
用
JSP
+Servlet实现
二进制
图像的动态显示
数据库
应用程序,特别是基于WEB的
数据库
应用程序,通常会涉及到图片信息的显示。我们知道在HTML语言当
中
为了显示静态的图片资料,可以利用如下标记来实现: ,而要显示动态的图片资料,就要采用相关的
数据库
访问技术来实现。在
JSP
环境编程
中
解决办法多种多样,通常是在
数据库
中
保存相应的图片资料的名称,而后在
JSP
中
可以建立相应的数据源,利用数
用
JSP
+Servlet实现
二进制
图像的动态显示-
JSP
教程,Java技巧及代码
数据库
应用程序,特别是基于web的
数据库
应用程序,通常会涉及到图片信息的显示。我们知道在html语言当
中
为了显示静态的图片资料,可以利用如下标记来实现: <img src="../image/hello.png" width="100" height="80">,而要显示动态的图片资料,就要采用相关的
数据库
访问技术来实现。在
jsp
...
java毕业设计——基于
JSP
+sqlserver的网络购物
中
心设计与实现(毕业论文+程序源码)——网络购物
中
心
随着Internet国际互联网的发展,越来越多的企业开始建造自己的网站。基于Internet的信息服务,商务服务已经成为现代企业一项不可缺少的内容。很多企业都已不满足于建立一个简单的仅仅能够发布信息的静态网站。现代企业需要的是一个功能强大的,能提供完善的电子商务服务的动态商务网站。
JSP
(Active Server Pages)是Microsoft提出的一种网络服务器端编程环境。
JSP
已经成为开发动态网站的重要而快速、有效的工具。
JSP
强大的功能使之成为一种优秀的服务器技术。
老贴 java
数据库
连接
JDBC(Java Data Base Connectivity,java
数据库
连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系
数据库
提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使
数据库
开发人员能够编写
数据库
应用程序,同时,JDBC也是个商标名。 有了JDBC...
Web 开发
81,095
社区成员
341,711
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章