隨筆-200  評(píng)論-148  文章-15  trackbacks-0
          第一步:建立數(shù)據(jù)庫(kù)
          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ù)庫(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.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");
          //以下可是任何處理,比如向頁(yè)面輸出:
          response.reset();
          //此處的image/jpeg似乎與顯示的圖片格式無(wú)關(guān)
          //因?yàn)槲绎@示jsp和gif都沒有錯(cuò)誤。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 無(wú)聲 閱讀(905) 評(píng)論(0)  編輯  收藏 所屬分類: 職場(chǎng)生活
          主站蜘蛛池模板: 江口县| 根河市| 大埔区| 英山县| 高阳县| 永州市| 武穴市| 包头市| 蕉岭县| 会理县| 肇源县| 大安市| 沂南县| 鄂州市| 廉江市| 黄梅县| 德兴市| 永吉县| 桐庐县| 梁山县| 桐乡市| 乌拉特后旗| 宿松县| 丹寨县| 海阳市| 元江| 黎城县| 革吉县| 通榆县| 荥经县| 偏关县| 隆子县| 呼伦贝尔市| 高雄市| 临澧县| 顺义区| 石家庄市| 永昌县| 斗六市| 鞍山市| 德安县|