日期:2014-05-18  浏览次数:20733 次

提问:jsp怎样吧图片,mp3之类的文件存进ms sql 2000数据库数据库?谢谢了!
我已经可以将其上传了,数据库保存的是文件的路径,请问我该如何把文件本身也存进数据库呢?我用的是smartupload组件.
十分感谢!

------解决方案--------------------
查找下clob,blob等字段的读写方法
------解决方案--------------------
图片 字段设置为image
String filename=request.getParameter( "image ");
FileInputStream img=new FileInputStream(filename);
String sql= "insert into table(id,img) values( '1 ',?) ";
PreparedStatement stmt=conn.prepareStatement(sql);
stmt.setBinaryStream(1,img,img.available());
stmt.execute();
---------------------


为什么不存放目录呢?
------解决方案--------------------
以二进制的形式录入吧。。。不过一般都存路径!
------解决方案--------------------
图片以2进制录入或存路径
------解决方案--------------------
用blob或clob之类的类型存进去,存的方式和三楼说的一样,使用preparestatement进行预处理。
String filename=request.getParameter( "image ");
FileInputStream img=new FileInputStream(filename);
String sql= "insert into table(id,img) values( '1 ',?) ";
PreparedStatement stmt=conn.prepareStatement(sql);
stmt.setBinaryStream(1,img,img.available());
stmt.execute();

以字节形式读出来,最后组合成需要的对象(图片,mp3等)。
大家不要说这个方法不好,就看你怎么用了,总的来说对象数据库是趋势,现在的关系数据库如Oracle,DB2,SQLServer等都在往对象发展,因此全部以对象形式录入数据库也是很合理的,同步,并且保证数据不会被破坏!