/* * DownLoad.java */ package com.zy.oa.util; import java.io.*; import java.text.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import java.net.*; /** * 实现下载功能 */ public class DownLoad { public void downLoad(HttpServletResponse response, String headName, String fileUrl) throws Exception{ Logger.log("begin download " + headName); if (headName.endsWith(".jpg") || (headName.endsWith(".gif"))) { //no need setting content type and header } else if (headName.endsWith(".txt")) { response.setContentType( "text;charset=GB2312"); response.setHeader("Content-disposition", "attachment; filename=" + headName ); } else { response.setContentType( "application/doc;charset=GB2312"); response.setHeader("Content-disposition", "attachment; filename=" + headName ); } String fileURL = fileUrl; Logger.log(fileURL); if(fileURL == null) return; try{ File file = new File(fileUrl); FileInputStream bis = new FileInputStream(file); OutputStream bos = response.getOutputStream(); byte[] buff = new byte[1024]; int readCount = 0; int i = 0; readCount = bis.read(buff); while (readCount != -1){ bos.write(buff, 0, readCount); readCount = bis.read(buff); } Logger.log("read finished!"); if (bis!=null) bis.close(); if (bos!=null) bos.close(); }catch(Exception e){ e.printStackTrace(); throw e; } } }