第一步:建立数据库
create table test_img(
id number(4),
name varchar(20),
img long raw);
第二步:
<html><head><title>
添加图片
</title></head>
<body>
添加图片
<br>
<form method="post" action="insertNews.jsp">
图像
ID
:
<input name="id" size="10">
<br>
选择图像:
<input type="file" name="image">
<br>
<input type="submit" value="
上传
" name="submit" size="25">
<input type="reset" value="
清除
" name="clear" size="25">
<br>
</form>
</body></html>
第三步:插入数据库(
InsertImg.jsp
)
<%@ page language="java"%>
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*"%>
<%@ page import="java.text.*"%>
<%@ page import="java.io.*"%>
<%
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@lubin:1521:b2bdb";
Connection con=DriverManager.getConnection(url,"demo","demo");
//
插入数据库
String sql="insert into test_img values (?,?,?)";
//
获取传值
ID
String id=request.getParameter("id");
//
获取
image
的路径
String kk=request.getParameter("image");
//
转换成
file
格式
File filename=new File(kk);
//
将文件的长度读出,并转换成
Long
型
long l1=filename.length();
int l2=(int)l1;
//
以流的格式赋值
FileInputStream fis=new FileInputStream(filename);
PreparedStatement ps =con.prepareStatement(sql);
ps.setString(1,id);
ps.setString(2,filename.getName());
ps.setBinaryStream(3,fis,l2);
ps.executeUpdate();
ps.close();
fis.close();