upgradefilelist.jsp
1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<%@ page language="java"    pageEncoding="UTF-8"  import="weaver.general.*,java.io.*,java.net.*,weaver.hrm.*"%>
<%
User user = HrmUserVarify.getUser (request , response) ;
if(user == null)  return ;
String downloadtype = request.getParameter("downloadtype");
String label = request.getParameter("label");
String logfile = "";
if(downloadtype.equals("add")) {
	logfile = GCONST.getRootPath()+"sysupgradelog"+File.separatorChar+"filedetail"+File.separatorChar+"add"+label+".txt";
} else {
	logfile = GCONST.getRootPath()+"sysupgradelog"+File.separatorChar+"filedetail"+File.separatorChar+"update"+label+".txt";
}
//rs.executeSql("select operationdate from ecologyuplist where operationdate is not null order by operationdate desc");
//if(rs.next()) {
//	currentDate = rs.getString("operationdate");
//}
    // path是指欲下载的文件的路径。
    File file = new File(logfile);
    if(file.exists()) {
        // 取得文件名。
        try {
	        String filename = file.getName();
	
	        // 以流的形式下载文件。
	        InputStream fis = new BufferedInputStream(new FileInputStream(logfile));
	        byte[] buffer = new byte[fis.available()];
	        fis.read(buffer);
	        response.reset();
	        // 设置response的Header
	        response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(filename,"UTF-8"));
	        response.addHeader("Content-Length", "" + file.length());
	       
	        response.setContentType("application/octet-stream;charset=UTF-8");
	        BufferedOutputStream toClient = new BufferedOutputStream(response.getOutputStream());
	        
	        toClient.write(buffer);
	        toClient.flush() ;
	        fis.close();
	        toClient.close();
	        response.flushBuffer();
	    } catch (IOException ex) {
	        ex.printStackTrace();
	    }
    }
%>