文件上传至数据库的 controller
private File upFile;
//保存文件上传
public String saveDocument() throws Exception {
TbDocument document = new TbDocument();//文件的pojo
if(upFile != null && upFile.length() > 4200000){
return "uploaderror";
}else{
if(upFile == null){
document.setDname(dname);
document.setDsoft(dsoft);
document.setDperson(dperson);
document.setDsuffix(dsuffix);
document.setPubtime(new Date());
this.webService.saveDocument(document);
}else{
byte[] fileByteArray=new byte[(int) upFile.length()];
InputStream in=new BufferedInputStream(new FileInputStream(upFile));
in.read(fileByteArray);
document.setDappendix(fileByteArray);//上传文件
document.setDname(dname);
document.setPubtime(new Date());
this.webService.saveDocument(document);
}
}
return SUCCESS;
}
//修改文件上传
public String modifyDocument() throws Exception{
TbDocument document=this.webService.findDocumentById(Long.valueOf(did));
if(document!=null){
setDid(String.valueOf(document.getDid()));
setDname(document.getDname());
setDsoft(document.getDsoft());
setDperson(document.getDperson());
setDsuffix(document.getDsuffix());
setDappendixFile(document.getDappendix() != null && document.getDappendix().length > 0 ? new byte[]{1,2,3} : new byte[]{} );//文件是否有
}
return SUCCESS;
}
文件上传至数据库 jsp
<tr>
<th width="20%">上传附件:</th>
<td width="42%" >
<label>
<input name="upFile" id="upFile" type="file"/>
</label><font color="red" style="white-space:nowrap;">*</font>
</td>
</tr>