public ActionForward fileDownload(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
String inUrl = request.getParameter("url");
String uploadRootUrl = getUploadRootUrl();
String url = uploadRootUrl + inUrl;
String flName = inUrl.substring(inUrl.indexOf(".")+1);
BufferedInputStream fin = null;
ServletOutputStream fout = null;
try {
File f = new File(url);
fin = new BufferedInputStream(new FileInputStream(f));
fout = response.getOutputStream();
response.setContentType("application/" + flName);
response.setHeader("content-disposition", "attachment; filename=down." + flName);
response.setContentLength((int) f.length());
log.error("user download from Datums,the file name is [" +
inUrl.substring(inUrl.lastIndexOf(File.separator) + 1) + "]");
int length = (int) f.length();
if (length != 0) {
byte[] b = new byte[2048];
while (fin != null && (length = fin.read(b)) != -1) {
fout.write(b, 0, length);
}
}
} catch (FileNotFoundException e) {
log.info("no found file");
return mapping.findForward("noFile");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fin != null) {
fin.close();
}
if (fout != null) {
fout.close();
}
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
return null;
}
3264

被折叠的 条评论
为什么被折叠?



