java 文件以二进制保存到数据库
//将文件转化成字节数组
private byte[] inputStreamToByte(InputStream is) throws IOException {
ByteArrayOutputStream bAOutputStream = new ByteArrayOutputStream();
int ch;
while((ch = is.read() ) != -1){
bAOutputStream.write(ch);
}
byte data [] =bAOutputStream.toByteArray();
bAOutputStream.close();
return data;
}
public void upLoad() throws IOException{
//读文件
File file = new File("D:\\记事本.txt");
InputStream fis = new FileInputStream(file);
//把内容转化成字节数组
byte[] data = new byte[] {};
data = inputStreamToByte(fis);
BackgroundDataRecord backgroundDataRecord = new BackgroundDataRecord();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
backgroundDataRecord.setAddDate(sdf.format(new Date()));
//操作者的名字
backgroundDataRecord.setOperatorName(real_name);
//文件名
backgroundDataRecord.setResourcesName(myFileFileName);
//客户 id
backgroundDataRecord.setUid(userid);
//文件内容
backgroundDataRecord.setResourcesContent(data);
//调用dao方法
backgroundDataRecordDao.InsertBackgroundDataRecord(backgroundDataRecord);
fis.close();
}
//dao方法
public Boolean InsertBackgroundDataRecord( BackgroundDataRecord b){
String sql="Insert Into backgroundDataRecord(resources_name,addDate,operator_name,resources_content,uid) values(?,?,?,?,?)";
return dbConn.update(sql,b.getResourcesName(),b.getAddDate(),b.getOperatorName(),b.getResourcesContent(),b.getUid())>0;
}
数据库字段是blob类型的,
实体类 中类型为blob字段对应的属性:private byte[] resourcesContent;