我要做的功能是页面浏览了一个文件,得到这个文件的路径传到后台
后台读取这个文件的内容,保存近数据库的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;
}
后台读取这个文件的内容,保存近数据库的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;
}
我觉得还是存文件路径比较好
请求的时候返回文件路径给前台
不过word到的确是有格式的看看有没有office相关的接口
读取文件以后,怎么转化成Blob类型,或者是其他什么类型可以存近数据库的Blob类型的列中
//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的操作。
没有转换类型一说啊。
private byte[] wdNr;
对象,数据库,公共方法都是项目经理做好给他们公用的,我要改的话很麻烦啊。
http://blog.csdn.net/liuyar/archive/2009/05/04/4148001.aspx
更大家共享一下
这是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" />
……
我以前做过将大对象存入数据库中!
思路如下:
1.先在数据库中建一张表用于存放对象信息,表的类型为Blob;
2.向表中插入一条记录;
3.将表中的记录查询出来,然后将需要存入的文件存入表中;
细节我忘了哦,如果说真的要,我这里有源码!