java 将上传文件以二进制流保存在数据库表中的某个字段,怎么做啊?

当我选择一个文件,并且点上传,让它自动将这个文件,保存到oracle数据库,我的那个表的一个blog字段中。

不知道怎么做,好郁闷啊!
当一点上传,把选择的那个文件,可以是文本,可以是视频,反正什么都可以是,怎么保存到message表的text字段呢?这个字段是blob类型。求这个点击方法!详细注释下啊,谢谢啦,还有下载方法,怎么判断有附件?是否是text不为空就可以确定有?怎么下载?

楼主这是个不好的思路,不要把数据库当成“垃圾桶”,什么东西都往里扔,你应该在这个字段里存储你存放文件的信息,另外在本地文件夹里存放图片,视频之类大数据量的文件。
对一般大字段文件,采用字节流读取存储,底下是个读取的代码
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的方法就可以判断是否有该文件存在。。。。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-11-11
我是用apache的commons-fileupload-1.2.1组件做的,通过表单收集数据.
其实text只是传了一个路径path给了服务器,服务器通过传过去的path来读取你上传的附件(用的是文件输入/输出流),所以只需要判断传过来的path是否存在就可以了(file.exists()方法可行)。
fileupload组件对数据流的格式化进行了封装,FileUploadServlet.parse(HttpRequest request)的方法可以从请求头中获得你的上传的数据流,保存过程就简单了。详细的请上网搜索关键字:apache fileupload。一定能找到你想要的资料。

java 大字符串转为二进制流存入CLOB字段 JDBC方法
oracle的数据库BLOB不能用来存储字符,改用NCLOB就OK了。BLOB:用来存储无结构的二进制数据 CLOB:存储单字节字符数据。(别用来存中文喔。。。)NCLOB:用来存储定宽多字节字符数据。

java中如何把一个图片转换成二进制流存入到类中啊?
2.从SQL Server数据库读取Image类型的数据,并转换成bytes[]或Image图像文件 \/\/要使用SqlDataReader要加载using System.Data.SqlClient命名空间 \/\/将数据库中的Image类型转换成byte[]public byte[] SetImage(SqlDataReader reader){ return (byte[])reader["Image"];\/\/Image为数据库中存放Image类型字段...

java上传文件保存至达梦数据库
1、创建需要的表格,包括文件名、文件类型、文件内容和上传时间等字段。2、在Java项目中引入相关的数据库驱动程序,以实现与达梦数据库的连接。3、创建一个包含文件上传表单的HTML页面,并且在后端使用Java代码接收上传的文件。4、将上传的文件转换为二进制流,并将其插入到数据库中。

java中 如何将存放在数据库中的pdf、doc、jpg等文件读出来(二进制形式...
在数据库中存放这些个二进制文件的字段是BLOB,oracle和MysqL里面都是 java中读取 BLOB数据:首先做查询,拿到查询结果ResultSet rs = XXXX (和普通数据查询一样)然后:Blob blob = rs.getBlob("字段名"); 拿到你的Blob ,得到文件的二进制流:InputStream binaryStream= blob.getBinaryStream();,...

java项目客户上传的图片放到哪好
图片上传一般会上传到你服务器那个项目里,到底上传到你服务器项目那个位置可以自己指定,数据库存 路径就行了,用的时候直接读 路径

java如何将一个EXCEL文件作为二进制文件存入数据库,再把它读取打开_百...
在数据库设一个BLOB类型的字段,然后把Excel文件保存进去.其实保存什么文件都可以.不一定要Excel的.这方法通用,随便在百度输入"java blob"就可以找到很多方法了.

Java代码中,如何监控Mysql的binlog?
MySQL的binlog是一个二进制日志文件,它记录了数据库表结构变更、表数据修改的信息。除了数据复制功能外,binlog还能用于数据恢复和增量备份。要使用binlog进行数据同步,首先需要确保MySQL服务已经启用了binlog功能。在MySQL配置文件中找到并修改binlog相关的参数,比如`log-bin`、`binlog_format`等,以确保...

java向mysql数据库上传图片(转化成二进制流)
回答:从io方面考虑,不建议你在mysql存储图片 可以在mysql中保存图片路径,然后读出路径再调用图片 以后也别写这样的代码...

如何实现在网站的文件上传和下载功能?
1、如何解决文件上传大小的限制2、以文件形式保存到服务器3、转换成二进制字节流保存到数据库以及下载方法4、上传Internet上的资源第一部分: 首先我们来说一下如何解决ASP.NET中的文件上传大小限制的问题,我们知道在默认情况下ASP.NET的文件上传大小限制为2M,一般情况下,我们可以采用更改WEB.Config文件来自定义最大...

java上传图片到数据库?
大概流程:上传插件的选择:此篇博文选择的是jQuery的zyupload文件上传插件;上传请求发起后,java代码的处理:你是要将上传的图片只保存在服务器还是只保存在数据库还是说两者都采取。怎样在mysql中存储比较大的图片?如果你想把二进制的数据,比如说图片文件和HTML文件,直接保存在你的MySQL数据库,那么这...

相似回答