选择显示字体大小

file存入到数据库的办法

  当需要把文件存入到服务器端的数据库中,有四种方式可行:

  1.servlet/jsp+fileupload/smartupload/自己编一个实现接受文件的javabean.然后调用相关的程序,把文件存入数据库中。这也是通常的选择。

  2.通过数据库存储过程,直接用sql来操作可以实现,需要访问文件系统。见全文搜索中向数据库中存入文件的办法。

  3.rmi客户/服务器的方式,由于rmi对实现的接口的参数要求是可串行化的,因此可以选用byte[]或fileupload组件中fileitem对象等,由于在rmi中通常使用双方协商好的对象类型,因此在文件传输,可选用定义一继承seriable接口的类对象,包含文件和文件的相关信息。

  4.虽然ejb是不能访问文件系统,而且要求实现的接口的参数要求是可串行化的,还必须是ejb规范下的数据类型(基本的数据类型)因此不能选用java.io包下的类(非串行化)和像fileupload组件等之外的类对象(串行化)作为参数。但是在ejb内部是可以使用java.io包中的对象。通过ejb来实现把文件存入到数据库的方法:

 1).用byte[]作为远程接口的参数类型.

 2).用file,fileinputstream,datoutputstream来实现文件对象,

 3).然后以文件对象流的形式存入数据库中。

  在ejb中的实现方法:

public string upfile(byte[] filebyte,java.lang.string filename ){
  try{
   system.out.println("fdjkj");
  file f=new file(filename);
   dataoutputstream fileout=new dataoutputstream(new fileoutputstream(f));
     
   fileinputstream fi=new fileinputstream(f);
   int li=fi.read(filebyte,0,filebyte.length-1);
   fileout.write(filebyte,0,filebyte.length-1);//这两句不能颠倒,上面依据是表示开始向fileinputstream中读入数据,这一句才是把byte[]中的数据读入到流中
   system.out.println("fdjkj");
   string dname="com.microsoft.jdbc.sqlserver.sqlserverdriver";
   string conurl="jdbc:microsoft:sqlserver://159.164.176.116:1038;databasename=digital lab";
 //  file f1=new file(""+fds.get("fileid") );
      connection con=null;
         statement stm=null;
   resultset rs=null;
   preparedstatement ps=null;
        
         class.forname(dname).newinstance();system.out.println("fdjkj");
   con=drivermanager.getconnection(conurl,"gaolong1","831001");system.out.println("fdjkj");
   string sql="insert into testejbfile values('"+filename+"',?,"+(filebyte.length-1)+")";
   //string sel="select * from  xinxi where changhao=215;";
   //string sel="select * from  custom where yuming='212';";
         ps=con.preparestatement(sql);system.out.println("fdsssssjkj");
         ps.setbinarystream(1,fi,(int)filebyte.length-1);
       //  ps.setbytes(1,b);
            ps.executeupdate();system.out.println("fdjkj");
               ps.close();
  return "ok";
  }catch(exception e){
   e.printstacktrace();
   return "false";
  }
 }
}


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons