如何将文件内容存入ORACLE中Blob类型的列中

jay851213 2010-03-05 10:02:31
我要做的功能是页面浏览了一个文件,得到这个文件的路径传到后台
后台读取这个文件的内容,保存近数据库的Blob类型的列中
Blob类型没操作过,程序是SSH做的,我现在写了个方法想读取文件内容返回一个Blob类型,
好SET近我的hibernate数据库对象中。哪位大虾帮我完成一下。
private Blob getNr(String str) throws Exception{
File file = new File(str);
BufferedReader br = new BufferedReader(new FileReader(file));



return null;
}
...全文
533 15 打赏 收藏 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
zdtwyjp 2010-03-07
  • 打赏
  • 举报
回复
兄台,用你的哪种方式是不可能实现的哦!
我以前做过将大对象存入数据库中!
思路如下:
1.先在数据库中建一张表用于存放对象信息,表的类型为Blob;
2.向表中插入一条记录;
3.将表中的记录查询出来,然后将需要存入的文件存入表中;
细节我忘了哦,如果说真的要,我这里有源码!
jay851213 2010-03-05
  • 打赏
  • 举报
回复
我现在有更好的方法了,在form里定义一个FormFlie类型的参数,页面浏览文件以后传递后台这个类型的值,取到的就是文件的内容,在调用hibernate的createBlob方法就能获得java.sql.Blob类型的,
更大家共享一下
这是Form里的定义属性:
private FormFile bzwdFile;
这是后台取文件内容转换成Blob类型的方法:
Blob wdnr = Hibernate.createBlob(bzwdForm.getBzwdFile().getFileData());
这是页面上的代码:
<html:form action="/bzwd" styleId="bzwdFormId" enctype="multipart/form-data">
……
<html:file property="bzwdFile" styleClass="tableBorder2" style="width:95%;" onchange="setWdMc();"
name="bzwdForm" />
……
liuyar 2010-03-05
  • 打赏
  • 举报
回复
请参考
http://blog.csdn.net/liuyar/archive/2009/05/04/4148001.aspx
asdujiayong 2010-03-05
  • 打赏
  • 举报
回复
可以
asdujiayong 2010-03-05
  • 打赏
  • 举报
回复
先把取得的内容(InputStream)转换为byte[]
jay851213 2010-03-05
  • 打赏
  • 举报
回复
确定Byte[]能存近数据库的Blob对象吗,确定的话,我要去申请修改,对象属性类型,
对象,数据库,公共方法都是项目经理做好给他们公用的,我要改的话很麻烦啊。
asdujiayong 2010-03-05
  • 打赏
  • 举报
回复
private java.sql.Blob wdNr; //这个是我要存的BLOB类型的属性
private byte[] wdNr;
jay851213 2010-03-05
  • 打赏
  • 举报
回复
public class ZskBjwdk implements Serializable {
//default serial version id, required for serializable classes.
private static final long serialVersionUID = 1L;
private String wdXh;
private java.sql.Date cjrq;
private String cjrDm;
private String wdlxDm;
private String wdMc;
private java.sql.Blob wdNr; //这个是我要存的BLOB类型的属性
private java.sql.Date xgrq;
private String xgrDm;
private String yxbz;
…………
}
这个对象就是我要存数据库的对象
我们用SSH做的,我首先要的到java.sql.Blob 类型的值,然后set近我的ZskBjwdk对象,
然后通过公共方法saveObject(Object ZskBjwdk)将这个对象存如数据库。
所以我要获得BLOB类型的属性

查了下BLOB的API,全都是对JDBC的操作。
没有转换类型一说啊。
asdujiayong 2010-03-05
  • 打赏
  • 举报
回复
byte[]
jay851213 2010-03-05
  • 打赏
  • 举报
回复
现在关键的是我不知道怎么把内容存近数据库里。
读取文件以后,怎么转化成Blob类型,或者是其他什么类型可以存近数据库的Blob类型的列中
jay851213 2010-03-05
  • 打赏
  • 举报
回复
我也想存路径啊,但是给我的需求就是让我这么做的~~~
zliuzz 2010-03-05
  • 打赏
  • 举报
回复
。。。word。。。
我觉得还是存文件路径比较好
请求的时候返回文件路径给前台
不过word到的确是有格式的。。。看看有没有office相关的接口
jay851213 2010-03-05
  • 打赏
  • 举报
回复
我们要做的存内容,数据库只存文件名称跟内容,页面点击文件名,自动弹出word文件显示内容
  • 打赏
  • 举报
回复
数据库中存文件,这种用法没有用过,我们一般只存文件路径
lliiqiang 2010-03-05
  • 打赏
  • 举报
回复
先插入一个空的Blob,然后获取该Blob,并写该Blob的数据流

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧