1,上传和下载到数据库的字符流 clob类型
public String uploadTemplate() throws Exception{
HttpServletRequest request = this.getRequest();
MultiPartRequestWrapper wrapper = (MultiPartRequestWrapper) request;
String id = request.getParameter("uploadId");
File[] files = wrapper.getFiles("Filedata");
File f = files[0];
InputStreamReader read = new InputStreamReader(new FileInputStream(f),"utf-8");
BufferedReader reader=new BufferedReader(read);
int ch=reader.read();
StringBuffer buffer=new StringBuffer();
while(ch!=-1){ //读取成功
buffer.append((char)ch);
ch=reader.read();
}
String clob = buffer.append((char)ch).toString();
System.out.println(clob);
//3、关闭流
reader.close();
cmSysService.uploadTemplate(id, clob);
return Constant.SUCCESS;
}
@SuppressWarnings("unused")
public String downLoadTemplate() throws Exception{
String id=this.getRequest().getParameter("templateId");
//获取模板信息
String data="";;//string 类型
FbDocTemplate docTemplate = cmSysService.getDocTemplate(id);
String name1 = docTemplate.getTemplateName();
PrintWriter writer = this.getResponse().getWriter();
// this.getResponse().setCharacterEncoding("UTF-8");//0331231213962FE26F866
this.getResponse().setHeader("Content-Disposition",
"attachment; " + this.encodeFileName(getRequest(), name1+".text"));
//this.getResponse().setContentType("application/msword;charset=GBK");
data = new String(docTemplate.getTemplateContent().getBytes("GBK"),"GBK");
try{
writer.write(data);
}catch(Exception e){
throw e;
}finally{
if (writer != null) {
writer.flush();
writer.close();
}
}
return null;
}