隨筆-200  評論-148  文章-15  trackbacks-0
          第一步:建立數(shù)據(jù)庫
          create table test_img(id number(4),name varchar(20),img long raw);
          第二步:(NewImg.html)
          <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ù)庫(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ù)庫
          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);
          //將文件的長度讀出,并轉(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.setBinaryStream(3,fis,fis.available());
          ps.executeUpdate();
          //ps.execute();
          ps.close();
          fis.close();
          out.println("ok!!!");
          %>
          第四步:顯示圖片(ShowImg.jsp)
          <%@ page language="java" import="java.sql.*"%>
          <%@ page import="java.io.*"%>
          <%@ page contentType="text/html;charset=gb2312"%>
          <%
          Class.forName("oracle.jdbc.driver.OracleDriver");
          String url="jdbc:oracle:thin:@lubin:1521:b2bdb";
          String image_id = (String) request.getParameter("ID");
          Connection con=DriverManager.getConnection(url,"demo","demo");
          PreparedStatement sql=con.prepareStatement("select * from test_img WHERE id = " + image_id);
          ResultSet rs = sql.executeQuery();
          rs.next();
          //輸入img字段內(nèi)容到in
          InputStream in = rs.getBinaryStream("img");
          //以下可是任何處理,比如向頁面輸出:
          response.reset();
          //此處的image/jpeg似乎與顯示的圖片格式無關
          //因為我顯示jsp和gif都沒有錯誤。icech不是很懂,都是參考別人的。
          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();
          %>
          posted on 2006-10-28 09:58 無聲 閱讀(905) 評論(0)  編輯  收藏 所屬分類: 職場生活
          主站蜘蛛池模板: 枞阳县| 黔东| 乾安县| 宁陕县| 新津县| 六盘水市| 郁南县| 育儿| 肥东县| 衢州市| 那曲县| 永泰县| 蛟河市| 长岭县| 彩票| 望都县| 天祝| 定兴县| 察隅县| 武冈市| 高唐县| 新郑市| 出国| 平乐县| 突泉县| 通道| 鲁甸县| 甘南县| 巧家县| 讷河市| 望城县| 九龙城区| 芜湖市| 紫金县| 沙田区| 滦南县| 桐城市| 孟州市| 沁阳市| 乡城县| 女性|