文件下载
public void doDownload(HttpServletRequest request, HttpServletResponse response){
String id = request.getParameter("sheet_no");
Htwd hw = MgrHtwd.selectById(id);
String cflj = hw.getCflj();
String wdmc = hw.getWdmc();
String wdm = hw.getWdm();
File file = new File(cflj + "\\" + wdm);
try {
InputStream is = new FileInputStream(file);
OutputStream os = response.getOutputStream();
BufferedInputStream bis = new BufferedInputStream(is);
BufferedOutputStream bos = new BufferedOutputStream(os);
wdmc = java.net.URLEncoder.encode(wdmc, "UTF-8");
wdmc = new String(wdmc.getBytes("UTF-8"), "GBK");
response.reset();
response.setCharacterEncoding("UTF-8");
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition", "attachment; filename="+ wdmc);
int bytesRead = 0;
byte[] buffer = new byte[1024];
while ((bytesRead = bis.read(buffer)) != -1) {
bos.write(buffer, 0, bytesRead);//
}
bos.flush();
bis.close();
bos.close();
is.close();
os.close();
} catch (Exception e) {
e.printStackTrace();
}
}
文件上传
@SuppressWarnings("deprecation")
public void doUpload(HttpServletRequest request, HttpServletResponse response,ActionForm form){
//获取文档参数
Date d = new Date();
SimpleDateFormat format = new SimpleDateFormat();
format.applyPattern("yyyyMMddHHmmss");
String sjc = format.format(d);
String oper_id="";
User user = (User)request.getSession().getAttribute("user");
if(user!=null){
oper_id = user.getOper_id();
}
String htid = request.getParameter("sheet_no");
String file_type = request.getParameter("filetype");
HtwdForm hf = (HtwdForm)form;
FormFile ff = hf.getTheFile();
String cflj = request.getRealPath("scwd");
String wdmc=request.getParameter("filename");
//设置对象,保存到数据库
Htwd hw = new Htwd();
if(!"".equals(file_type)){hw.setFile_type(file_type);};
hw.setCflj(cflj);
hw.setHtid(htid);
hw.setOper_id(oper_id);
hw.setWdm(sjc+oper_id+wdmc.substring(wdmc.indexOf("."), wdmc.length()));
hw.setWdmc(wdmc);
AnswerUtil au = MgrHtwd.insert(hw);
//进行文档操作
if(au.getFlag()){
try{
InputStream stream = ff.getInputStream();
OutputStream bos = new FileOutputStream(cflj + "/"+ sjc+oper_id+wdmc.substring(wdmc.indexOf("."), wdmc.length()));
System.out.println(cflj + "/"+ sjc+oper_id+wdmc.substring(wdmc.indexOf("."), wdmc.length()));
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
bos.write(buffer, 0, bytesRead);
}
bos.close();
stream.close();
}catch(Exception e){
e.printStackTrace();
au.setInfo(au.getInfo()+"文档操作错误:"+e.getMessage());
}
}
request.setAttribute("sheet_no", htid);
request.setAttribute("msg", au.getFlag());
request.setAttribute("info", au.getInfo().toString());
}