File file=new File("path");
FileInputStream input=new FileInputStream(file);
  byte[] buffer = new byte[8192];
int bytesRead = 0;
while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
input.write(buffer, 0, bytesRead);
 }
map=baos.toByteArray();
将这map二进制数组存入数据库就可以了!

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/2332/2332637.xml?temp=.3304254
      

  2.   


    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.sql.*"%>
    <%@ page import="java.lang.*" %>
    <%@ page import="com.jspsmart.upload.*" %>
    <%@ page import="DBstep.iDBManager2000.*"%>
    <%
        //实例化上载bean
        com.jspsmart.upload.SmartUpload mySmartUpload=new com.jspsmart.upload.SmartUpload();
        //初始化
        mySmartUpload.initialize(pageContext);
        //设置上载的最大值
        mySmartUpload.setMaxFileSize(500 * 1024*1024);
        //上载文件
        mySmartUpload.upload();
       //循环取得所有上载的文件
      // for (int i=0;i<mySmartUpload.getFiles().getCount();i++){
       //取得上载的文件
       com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);
       if (!myFile.isMissing())
        {
       //取得上载的文件的文件名
        String myFileName=myFile.getFileName();
        //取得不带后缀的文件名
        String  suffix=myFileName.substring(0,myFileName.lastIndexOf('.'));
        //取得后缀名
        String  ext= mySmartUpload.getFiles().getFile(0).getFileExt();  
        //取得文件的大小  
        int fileSize=myFile.getSize();
        //保存路径
        String trace="c:/"+myFileName;
        //取得别的参数
        String explain=(String)mySmartUpload.getRequest().getParameter("text");
        String send=(String)mySmartUpload.getRequest().getParameter("send");
        //将文件保存在服务器端 
        myFile.saveAs(trace,mySmartUpload.SAVE_PHYSICAL);
        //下面的是将上载的文件保存到数据库中
        //将文件读到流中 
        java.io.File file = new java.io.File(trace);
        java.io.FileInputStream fis = new java.io.FileInputStream(file);
       //打开数据库
       ResultSet result=null;
       String mSql=null;
       PreparedStatement prestmt=null; 
       DBstep.iDBManager2000 DbaObj=new DBstep.iDBManager2000();
       DbaObj.OpenConnection();
       //将文件写到数据库中
       mSql="insert into list (name,password,size,date,MarkBody) values (?,?,?,?,?)";
       prestmt =DbaObj.Conn.prepareStatement(mSql);
       prestmt.setString(1, "aaa");
       prestmt.setString(2, "0000");
       prestmt.setInt(3, fileSize);
       prestmt.setString(4, DbaObj.GetDateTime());
       prestmt.setBinaryStream(5,fis,(int)file.length());
       DbaObj.Conn.setAutoCommit(true) ;
       prestmt.executeUpdate();
       DbaObj.Conn.commit();
       out.println(("上载成功!!!").toString());
       }
       else 
       { out.println(("上载失败!!!").toString()); } 
      // }//与前面的if对应
    %>
      

  3.   


    jsp上传图片到Oracle数据库 
    看看对你有没有帮助? 
    第一步:建立数据库 
    create table test_img(id number(4),name varchar(20),pic 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> 第三步:插入数据库(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.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字段内容到in 
    InputStream in = rs.getBinaryStream("img"); //以下可是任何处理,比如向页面输出: response.reset(); 
    //此处的image/jpeg似乎与显示的图片格式无关 
    //因为我显示jsp和gif都没有错误 
    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(); 
    %>