CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

如何在jsp中把照片插入Oracle

楼主towdney(浪淘沙)2006-03-03 08:48:14 在 Java / Web 开发 提问

在jsp中,如何执行这样的操作,就是把照片作为数据存入oracle中,oracle我用的是10g。  
  谁能给示范代码,谢了! 问题点数:50、回复次数:3Top

1 楼pingpingx(柠檬)回复于 2006-03-03 10:06:19 得分 0

你可以使用数据库BLOB   类型存储图片,在把它读取出来。java.sql.Blob   因为这个类没有被序列化(Serializable),要使用数据库的BLOB字段,我们必须在实体bean中声明CMP字段为   byte[]   并映射该字段到数据库的BLOB字段。  
  有一些处理的细节和注意点,下面的网页对你有些帮助。  
  http://www.crackj2ee.com/Article/ShowArticle.asp?ArticleID=262Top

2 楼championmajian(小马||目前酒力:白的半斤,啤的3瓶)回复于 2006-03-03 10:25:57 得分 0

存目录地址多好Top

3 楼reack(三楼楼长)回复于 2006-03-03 10:29:49 得分 0

 
      /**  
        *   向数据库中插入一个新的BLOB对象  
        *  
        *   @param   infile   -   数据文件  
        *   @throws   java.lang.Exception  
        *   @roseuid   3EDA04E300F6  
        */  
      public   static   void   blobInsert(String   infile,   String   photoid)   throws   Exception   {  
  DBConnection   dbconnection   =   new   DBConnection();  
  myconn   =   dbconnection.createConnection();  
   
  //         Class.forName(DRIVER);  
          Statement   mystmt   =   null;  
          ResultSet   rs   =   null;  
   
          /*   设定不自动提交   */  
          boolean   defaultCommit   =   myconn.getAutoCommit();  
          myconn.setAutoCommit(false);  
          try   {  
              /*   插入一个空的BLOB对象   */  
              String   sql   =   "";  
              sql   =   "INSERT   INTO   ccic_real_photo   VALUES   ('"   +   photoid   +  
                      "',   EMPTY_BLOB(),'"   +   photoid.substring(0,21)   +"')";  
              mystmt   =   myconn.prepareStatement(sql);  
              mystmt.executeUpdate(sql);  
              mystmt.close();  
              myconn.commit();  
              //mystmt   =   null;  
              /*   查询此BLOB对象并锁定   */  
              sql   =   "SELECT   blob_column   FROM   ccic_real_photo   WHERE   photoid='"   +   photoid   +  
                      "'   FOR   UPDATE";  
              mystmt   =   myconn.prepareStatement(sql);  
              rs   =   mystmt.executeQuery(sql);  
              while   (rs.next())   {  
                  //   取出此BLOB对象  
                  oracle.sql.BLOB   blob   =   (oracle.sql.BLOB)   rs.getBlob("blob_column");  
                  //   向BLOB对象中写入数据  
                  BufferedOutputStream   out   =   new   BufferedOutputStream(blob.  
                          getBinaryOutputStream());  
   
                  BufferedInputStream   in   =   new   BufferedInputStream(new   FileInputStream(  
                          infile));  
                  int   c;  
                  while   (   (c   =   in.read())   !=   -1)   {  
                      out.write(c);  
                  }  
                  in.close();  
                  out.close();  
              }  
              //   正式提交  
   
              myconn.commit();  
              mystmt.close();  
              rs.close();  
              mystmt   =   null;  
              rs   =   null;  
   
              //myconn.close();  
   
          }  
          catch   (Exception   ex)   {  
              /*   出错回滚   */  
              mystmt.close();  
              //rs.close();  
              mystmt   =   null;  
              rs   =   null;  
   
              myconn.rollback();  
              //myconn.close();  
      myconn   =   null;  
      dbconnection   =   null;                
              try   {  
                  util.LogError("出错"   +   photoid   +   ";照片文件"   +   infile   +   "错误原因:"   +   ex.toString());  
   
              }  
              catch   (Exception   e)   {  
                  System.out.println(e.toString());  
              }  
   
              System.out.println("出错"   +   photoid   +   ";照片文件"   +   infile   +   "错误原因:"   +  
                                                    ex.toString());  
              //throw   ex;  
      //myconn   =   null;  
   
          }  
   
          /*   恢复原提交状态   */  
          //conn.setAutoCommit(defaultCommit);  
  myconn   =   null;  
  dbconnection   =   null;          
      }  
  Top

相关问题

  • jsp向oracle数据库插入图片出错!急!为什么?
  • 从jsp想oracle插入记录的顺序问题
  • 在JSP中用ORACLE数据库,插入ID号的问题
  • oracle插入数据问题
  • 求一oracle插入语句?
  • 用jsp连上oracle后,在JSP中用(INSERT)插入中文数据后,显示乱码,有办法吗?
  • ASP+ORACLE OR JSP+ORACLE
  • 我从JSP页将数据插入到oracle数据库中,为何汉字插入后数据库中显示为乱码呢?
  • 请问在jsp中将系统当前时间插入到Oracle中Date字段中?(很急,在线等待)
  • 在oracle中jsp对clob字段数据进行插入问题,在线等急用

关键词

  • 字段
  • 数据库
  • oracle
  • sql
  • null
  • mystmt
  • blob
  • photoid
  • myconn
  • 插入

得分解答快速导航

  • 帖主:towdney

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo