//设置文件类型
//下载部分public static String getContentType(String fileName) { String fileNameTmp = fileName.toLowerCase(); String ret = ""; if (fileNameTmp.endsWith("txt")) { ret = "text/plain"; } if (fileNameTmp.endsWith("gif")) { ret = "image/gif"; } if (fileNameTmp.endsWith("jpg")) { ret = "image/jpeg"; } if (fileNameTmp.endsWith("jpeg")) { ret = "image/jpeg"; } if (fileNameTmp.endsWith("jpe")) { ret = "image/jpeg"; } if (fileNameTmp.endsWith("zip")) { ret = "application/zip"; } if (fileNameTmp.endsWith("rar")) { ret = "application/rar"; } if (fileNameTmp.endsWith("doc")) { ret = "application/msword"; } if (fileNameTmp.endsWith("ppt")) { ret = "application/vnd.ms-powerpoint"; } if (fileNameTmp.endsWith("xls")) { ret = "application/vnd.ms-excel"; } if (fileNameTmp.endsWith("html")) { ret = "text/html"; } if (fileNameTmp.endsWith("htm")) { ret = "text/html"; } if (fileNameTmp.endsWith("tif")) { ret = "image/tiff"; } if (fileNameTmp.endsWith("tiff")) { ret = "image/tiff"; } if (fileNameTmp.endsWith("pdf")) { ret = "application/pdf"; } return ret; }
public static void fileDownLoad(HttpServletResponse response,String filePath) throws ServletException { BufferedInputStream bis = null; BufferedOutputStream bos = null; OutputStream fos = null; InputStream fis = null; String fileName = filePath.substring(filePath.lastIndexOf("/") + 1, filePath.length()); try { response.reset();response.setContentType(getContentType(fileName)); response.setHeader("Content-disposition", "attachment;filename="+ new String(fileName.getBytes("gb2312"), "ISO8859-1")); fis = new FileInputStream(filePath); bis = new BufferedInputStream(fis); fos = response.getOutputStream(); bos = new BufferedOutputStream(fos); int bytesRead = 0; byte[] buffer = new byte[5 * 1024]; while ((bytesRead = bis.read(buffer)) != -1) { bos.write(buffer, 0, bytesRead);// 将文件发送到客户端 } bos.close(); bis.close(); fos.close(); fis.close(); } catch (IOException e) {response.reset(); e.printStackTrace(); } finally { try { if (fos != null) { fos.close(); } if (bos != null) { bos.close(); } if (fis != null) { fis.close(); } if (bis != null) { bis.close(); } } catch (IOException e) {System.err.print(e); } }}