第一步:建立數(shù)據(jù)庫(kù)
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>
第三步:插入數(shù)據(jù)庫(kù)(
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");
//
插入數(shù)據(jù)庫(kù)
String sql="insert into test_img values (?,?,?)";
//
獲取傳值
ID
String id=request.getParameter("id");
//
獲取
image
的路徑
String kk=request.getParameter("image");
//
轉(zhuǎn)換成
file
格式
File filename=new File(kk);
//
將文件的長(zhǎng)度讀出,并轉(zhuǎn)換成
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();