jsp如何jsp上传图片到数据库库

MySQL如何存储图片?---一个向数据库存取image文件的jsp程序_Java_ThinkSAAS
MySQL如何存储图片?---一个向数据库存取image文件的jsp程序
MySQL如何存储图片?---一个向数据库存取image文件的jsp程序
MySQL如何存储图片?????
一个向数据库存取image文件的jsp程序
我在程序代码里贴了向Mysql数据库写入image代码的程序,可是好多人都是Java的初学者,对于这段代码,他们无法将它转换成jsp,所以我在这在写一下用jsp怎样向数据库写入图像文件。大家先在数据库建这样一张表,我下面的这些代码对任何数据库都通用,只要支持blob类型的
只要大家将连接数据库的参数改一下就可以了。
create table image(id int,content varchar(200),image blob);
如果在sqlserver2000的数据库中,可以将blob字段换为image类型,这在SqlServer2000中是新增的。
testimage.html文件内容如下:
&TITLE&Image File &/TITLE&
&meta http-equiv="Content-Type"content="text/ charset=gb2312"&
&FORM METHOD=POST ACTION="testimage.jsp"&
&INPUT TYPE="text"NAME="content"&&BR&
&INPUT TYPE="file"NAME="image"&&BR&
&INPUT TYPE="submit"&&/FORM&
我们在Form的action里定义了一个动作testimage.jsp,它的内容如下:
&%@ page contentType="text/charset=gb2312"%&
&%@ page import="java.sql.*"%&
&%@ page import="java.util.*"%&
&%@ page import="java.text.*"%&
&%@ page import="java.io.*"%&
&%Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url="jdbc:mysql://localhost/mysql?user=root&password=&useUnicode=true&characterEncoding=8859_1";
//其中mysql为你数据库的名字,user为你连接数据库的用户,password为你连接数据库用户的密码,可自己改
Connection conn= DriverManager.getConnection(url);
String content=request.getParameter("content");
String filename=request.getParameter("image");
FileInputStream str=new FileInputStream(filename);
String sql="insert into test(id,content,image) values(1,?,?)";
PreparedStatement pstmt=dbconn.conn.prepareStatement(sql);
pstmt.setString(1,content);
pstmt.setBinaryStream(2,str,str.available());
pstmt.execute();
out.println("Success,You Have Insert an Image Successfully");
下面我写一个测试image输出的例子看我们上面程序写的对不对,testimageout.jsp的内容如下:
&%@ page contentType="text/charset=gb2312"%&
&%@ page import="java.sql.*"%&
&%@ page import="java.util.*"%&
&%@ page import="java.text.*"%&
&%@ page import="java.io.*"%&
&%Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url="jdbc:mysql://localhost/mysql?user=root&password=&useUnicode=true&characterEncoding=8859_1";
//其中mysql为你数据库的名字,user为你连接数据库的用户,password为你连接数据库用户的密码,可自己改
Connection conn= DriverManager.getConnection(url);
String sql ="select image from test where id=1";
Statement stmt=
ResultSet rs=
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}catch(SQLException e){}
while(rs.next()) {
res.setContentType("image/jpeg");
ServletOutputStream sout = response.getOutputStream();
InputStream in = rs.getBinaryStream(1);
byte b[] = new byte[0x7a120];
for(int i = in.read(b); i != -1;)
sout.write(b);
in.read(b);
sout.flush();
sout.close();
catch(Exception e){System.out.println(e);}
你运行这个程序,你就会看到刚才你写入美丽的图片就会显示在你面前。怎么样,用jsp来试试。
这种方法把图片写到数据库中会使数据库在短时间内容量飞涨,会影响性能的,另外一种做法将图片存上传到服务器上,
在数据库里只存放图片的路径,这是一个很好的方法。我建议大家采取后面一种方法。
PHP开发框架
开发工具/编程工具
服务器环境
ThinkSAAS商业授权:
ThinkSAAS为用户提供有偿个性定制开发服务
ThinkSAAS将为商业授权用户提供二次开发指导和技术支持
让ThinkSAAS更好,把建议拿来。
开发客服微信JSPUpload jsp上传图片到数据库的列子,里面的带有文字的描叙,很清晰 JavaScript 238万源代码下载-
&文件名称: JSPUpload
& & & & &&]
&&所属分类:
&&开发工具: Java
&&文件大小: 8 KB
&&上传时间:
&&下载次数: 47
&&提 供 者:
&详细说明:jsp上传图片到数据库的列子,里面的带有文字的描叙,很清晰-jsp upload pictures to the database Liezi, which depicts with a text, it is clear
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&JSPUpload.doc
&近期下载过的用户:
&相关搜索:
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - jsp实现上传图片之前本地生成缩略图预览然后裁剪成理想大小上传
&[] - jsp上传显示图片代码(转)-Sumongh Zone -JavaEye技术社区.rar
&[] - 框架:struts2+spring2.5+hibernate3.2+jsp+jquery1.3+mysql5.0
主要功能:
网站新闻管理
用户注册,登录
商品信息管理
管理员密码修改
&[] - jsp图片上传代码,jsp图片上传代码,jsp图片上传代码,jsp图片上传代码
&[] - 显示图片的直方图,上传图片到数据库,批量上载和单个图片上载
&[] - jsp上传文件终极解决思路,未使用任何第三方上传组件。附件是一个简单的Demo(完整工程,含所有源代码)。可上传1G的文件。
&[] - 一个很好的翻书效果的javaScript源代码。能够让网站更加炫酷!!!
&[] - :jsp源码,上传下载,JSP上传文件,图片裁切
  JSP头像上传并实现裁剪功能,JSP上传图片,同时将上传的图片按一定大小裁剪,以便于进一步使用。目前暂时没有JSP环境,所以本源码没有测试,也没有抓到程序运行图,觉得有需要的可自己下载测试。
&[] - java jsp 一个简单的例子用来上传图片用&&&&Jsp图片上传资料并将图片路径上传至数据库
Jsp图片上传资料并将图片路径上传至数据库
用于图片上传至服务器下的文件夹里面,并且把文件路径加入数据库,数据库采用MSSQL2000
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
开发技术下载排行SSH开发中,数据库中存上传的图片的路径,怎么在JSP页面的img的src获取?网上讲的都不明白。。。。 - 开源中国社区
当前访客身份:游客 [
当前位置:
开发环境是:ssh+dwz& 1: String path = ServletActionContext.getServletContext().getRealPath(&/upload&); 用这种方式,得到是的一段绝对地址D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\zlgc2\upload,这种方式在img中获取不到
2: 用在action中配置属性 &param name=&savePath&&/upload&/param& 上传用的时候用: this.savefile = new File(getSavePath, this.fileFileName); 发现文件保存到了tomcat同级目录的upload下
共有1个答案
<span class="a_vote_num" id="a_vote_num_
可以直接在写成 src=&xxx.action?attachId=xxx&,这个action在后台读取图片文件,转成数据流返回,这样就可以显示图片了。
一般不会直接把图片的存放路径直接填写到src中,特别在图片没有放在工程目录中的时候。
--- 共有 1 条评论 ---
我试试 谢谢!
(3年前)&nbsp&
更多开发者职位上
有什么技术问题吗?
康州牧码人的其它问题
类似的话题&&&&&&&&&&&
1 第一步:建立数据库
2 create table test_img(id number(4),name varchar(20),img long raw);
3 第二步:(NewImg.html)
4 &html&&head&&title&添加图片&/title&&/head&
6 添加图片&br&
7 &form method="post" action="insertNews.jsp"&
8 图像ID:&input name="id" size="10"&
10 选择图像:&input type="file" name="image"&
12 &input type="submit" value="上传" name="submit" size="25"&
13 &input type="reset" value="清除" name="clear" size="25"&
15 &/form&
16 &/body&&/html&
17 第三步:插入数据库(InsertImg.jsp)
18 &%@ page language="java"%&
19 &%@ page contentType="text/charset=gb2312" %&
20 &%@ page import="java.util.*" %&
21 &%@ page import="java.sql.*"%&
22 &%@ page import="java.text.*"%&
23 &%@ page import="java.io.*"%&
25 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //com.microsoft.jdbc.sqlserver.SQLserveDriver
26 String url="jdbc:oracle:thin:@lubin:1521:b2bdb";
//jdbc:microsoft:sqlserver://127.0.0.1:1433;
jdbc:microsoft.sqlserver://127.0.0.1:1433
27 Connection con=DriverManager.getConnection(url,"demo","demo");
28 //插入数据库
29 String sql="insert into test_img values (?,?,?)";
30 //获取传值ID
31 String id=request.getParameter("id");
32 //获取image的路径
33 String kk=request.getParameter("image");
34 //转换成file格式
35 File filename=new File(kk);
36 //将文件的长度读出,并转换成Long型
37 long l1=filename.length();
38 int l2=(int)l1;
39 //以流的格式赋值
40 FileInputStream fis=new FileInputStream(filename);
41 PreparedStatement ps =con.prepareStatement(sql);
42 ps.setString(1,id);
43 ps.setString(2,filename.getName());
44 ps.setBinaryStream(3,fis,l2);
45 //ps.setBinaryStream(3,fis,fis.available());
46 ps.executeUpdate();
47 //ps.execute();
48 ps.close();
49 fis.close();
50 out.println("ok!!!");
52 第四步:显示图片(ShowImg.jsp)
53 &%@ page language="java" import="java.sql.*"%&
54 &%@ page import="java.io.*"%&
55 &%@ page contentType="text/charset=gb2312"%&
57 Class.forName("oracle.jdbc.driver.OracleDriver");
58 String url="jdbc:oracle:thin:@lubin:1521:b2bdb";
59 String image_id = (String) request.getParameter("ID");
60 Connection con=DriverManager.getConnection(url,"demo","demo");
61 PreparedStatement sql=con.prepareStatement("select * from test_img WHERE id = " + image_id);
62 ResultSet rs = sql.executeQuery();
63 rs.next();
64 //输入img字段内容到in
65 InputStream in = rs.getBinaryStream("img");
66 //以下可是任何处理,比如向页面输出:
67 response.reset();
68 response.setContentType("image/jpeg");
69 byte[] b = new byte[1024];
71 while((len=in.read(b)) &0)
72 response.getOutputStream().write(b,0,len);
73 in.close();
74 rs.close();
上传页面 一定要用POST 还要l加一个属性 enctype="multipart/form-data", 进去了才解析请求体才能得到的你写 &file name="filename" /& 你在服务端 request.getParameter("filename"); 是得不到的因为这些数据和 上传的文件流都封装在请求体中, 要解析的你如果只要文件名: 可以这样&file name="file" /&&hidden type="text" name="filename" /&&
&%--类型enctype用multipart/form-data,这样可以把文件中的数据作为流式数据上传,不管是什么文件类型,均可上传。--%&
阅读(...) 评论()

我要回帖

更多关于 jsp上传excel到数据库 的文章

 

随机推荐