1 public void downloadSystemHelp(){ 2 DataInputStream in = null; 3 OutputStream out= null; 4 File f=null; 5 try { 6 7 f = new File(this.getClass().getResource("/").getPath()); 8 String path = f.getAbsolutePath(); 9 String newPath = path.replace('\', '/'); 10 if(newPath.contains("apache")){ 11 newPath = newPath.substring(0, newPath.indexOf("/apache")); 12 } 13 String dirName =newPath+"/SystemHelp/"; //获取自己创建的文件夹路径 14 f = new File(dirName); 15 if(!f.exists()){ 16 f.mkdirs(); 17 } 18 String fileNames[] = f.list(); //获取文件夹下的文件 19 String resultFileName=""; 20 System.out.println("文件 is "+fileNames); 21 resultFileName = fileNames[0]; 22 response.setCharacterEncoding("UTF-8"); 23 response.setHeader("Content-disposition", "attachment; filename=" + URLEncoder.encode(resultFileName,"UTF-8"));// 设定输出文件头 24 response.setContentType("multipart/form-data");// 定义输出类型 25 //输入流:本地文件路径 26 f=new File(dirName+resultFileName); 27 in = new DataInputStream( new FileInputStream(f)); 28 //输出流 29 out = response.getOutputStream(); 30 //输出文件 31 int bytes = 0; 32 byte[] bufferOut = new byte[1024]; 33 while ((bytes = in.read(bufferOut)) != -1) { 34 out.write(bufferOut, 0, bytes); 35 } 36 37 } catch (Exception e) { 38 e.printStackTrace(); 39 }finally{ 40 if(null != in) { 41 try { 42 in.close(); 43 } catch (IOException e) { 44 e.printStackTrace(); 45 } 46 } 47 if(null != out) { 48 try { 49 out.close(); 50 } catch (IOException e) { 51 e.printStackTrace(); 52 } 53 } 54 } 55 }
1 //js代码 2 function download(){ 3 //后台方法、文件类型、文件名 4 downloadTemplate('${pageContext.request.contextPath}/cardIssueVehicleInfo/exportVehicleInfo', 'filename', 'test'); 5 } 6 7 /** 8 * 用于下载导入模板时的影藏form表单的提交,采用post方式提交 9 * 10 */ 11 function downloadTemplate(action, type, value){ 12 var form = document.createElement('form'); 13 document.body.appendChild(form); 14 form.style.display = "none"; 15 form.action = action; 16 form.id = 'excel'; 17 form.method = 'post'; 18 19 var newElement = document.createElement("input"); 20 newElement.setAttribute("type","hidden"); 21 newElement.name = type; 22 newElement.value = value; 23 form.appendChild(newElement); 24 25 form.submit(); 26 }