java 将上传文件以二进制流保存在数据库表中的某个字段,怎么做啊?
当我选择一个文件,并且点上传,让它自动将这个文件,保存到oracle数据库,我的那个表的一个blog字段中。不知道怎么做,好郁闷啊!当一点上传,把选择的那个文件,可以是文...
当我选择一个文件,并且点上传,让它自动将这个文件,保存到oracle数据库,我的那个表的一个blog字段中。
不知道怎么做,好郁闷啊!
当一点上传,把选择的那个文件,可以是文本,可以是视频,反正什么都可以是,怎么保存到message表的text字段呢?这个字段是blob类型。求这个点击方法!详细注释下啊,谢谢啦,还有下载方法,怎么判断有附件?是否是text不为空就可以确定有?怎么下载? 展开
不知道怎么做,好郁闷啊!
当一点上传,把选择的那个文件,可以是文本,可以是视频,反正什么都可以是,怎么保存到message表的text字段呢?这个字段是blob类型。求这个点击方法!详细注释下啊,谢谢啦,还有下载方法,怎么判断有附件?是否是text不为空就可以确定有?怎么下载? 展开
2个回答
展开全部
楼主这是个不好的思路,不要把数据库当成“垃圾桶”,什么东西都往里扔,你应该在这个字段里存储你存放文件的信息,另外在本地文件夹里存放图片,视频之类大数据量的文件。
对一般大字段文件,采用字节流读取存储,底下是个读取的代码
Reader reader = rs.getCharacterStream("details");
StringBuffer strBuf = new StringBuffer();
if(reader!=null){
BufferedReader bufReader = new BufferedReader(reader);
String line;
while ((line = bufReader.readLine()) != null){
strBuf.append(line);
strBuf.append("\r\n");
}
bufReader.close();
}
判断是否有附件,你既然存储了路径,用File类的exist的方法就可以判断是否有该文件存在。。。。
对一般大字段文件,采用字节流读取存储,底下是个读取的代码
Reader reader = rs.getCharacterStream("details");
StringBuffer strBuf = new StringBuffer();
if(reader!=null){
BufferedReader bufReader = new BufferedReader(reader);
String line;
while ((line = bufReader.readLine()) != null){
strBuf.append(line);
strBuf.append("\r\n");
}
bufReader.close();
}
判断是否有附件,你既然存储了路径,用File类的exist的方法就可以判断是否有该文件存在。。。。
展开全部
我是用apache的commons-fileupload-1.2.1组件做的,通过表单收集数据.
其实text只是传了一个路径path给了服务器,服务器通过传过去的path来读取你上传的附件(用的是文件输入/输出流),所以只需要判断传过来的path是否存在就可以了(file.exists()方法可行)。
fileupload组件对数据流的格式化进行了封装,FileUploadServlet.parse(HttpRequest request)的方法可以从请求头中获得你的上传的数据流,保存过程就简单了。详细的请上网搜索关键字:apache fileupload。一定能找到你想要的资料。
其实text只是传了一个路径path给了服务器,服务器通过传过去的path来读取你上传的附件(用的是文件输入/输出流),所以只需要判断传过来的path是否存在就可以了(file.exists()方法可行)。
fileupload组件对数据流的格式化进行了封装,FileUploadServlet.parse(HttpRequest request)的方法可以从请求头中获得你的上传的数据流,保存过程就简单了。详细的请上网搜索关键字:apache fileupload。一定能找到你想要的资料。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询