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

2024-12-22 22:08:44
推荐回答(2个)
回答1:

楼主这是个不好的思路,不要把数据库当成“垃圾桶”,什么东西都往里扔,你应该在这个字段里存储你存放文件的信息,另外在本地文件夹里存放图片,视频之类大数据量的文件。
对一般大字段文件,采用字节流读取存储,底下是个读取的代码
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的方法就可以判断是否有该文件存在。。。。

回答2:

我是用apache的commons-fileupload-1.2.1组件做的,通过表单收集数据.
其实text只是传了一个路径path给了服务器,服务器通过传过去的path来读取你上传的附件(用的是文件输入/输出流),所以只需要判断传过来的path是否存在就可以了(file.exists()方法可行)。
fileupload组件对数据流的格式化进行了封装,FileUploadServlet.parse(HttpRequest request)的方法可以从请求头中获得你的上传的数据流,保存过程就简单了。详细的请上网搜索关键字:apache fileupload。一定能找到你想要的资料。