下载代码

1. controller代码:
@RequestMapping("/download.htm")  
    public void fileDownload(HttpServletRequest request, 
    		HttpServletResponse response) throws IOException{
		String id = request.getParameter("id");
        //获取网站部署路径(通过ServletContext对象),用于确定下载文件位置,从而实现下载  
		//String path = servletContext.getRealPath("/");  
        //1.设置文件ContentType类型,这样设置,会自动判断下载文件类型  
        response.setContentType("multipart/form-data");  
        //2.设置文件头:最后一个参数是设置下载文件名(假如我们叫a.pdf)  
        response.setHeader("Content-Disposition", "attachment;fileName="+fileName);  
        OutputStream os = null;  
        FileInputStream is = null;
        
        try {  
        	//通过文件路径获得File对象
        	File file = new File("e:/" + "download.xls");  
        	is = new FileInputStream(file);  
            //3.通过response获取ServletOutputStream对象(out)  
            os = response.getOutputStream();  
            int b = 0;  
            byte[] buffer = new byte[512];  
            while ((b=is.read(buffer))!=-1){  
                //4.写到输出流(out)中  
                os.write(buffer,0,b);  
            }  
            is.close();  
            os.close();  
            os.flush();  
  
        } catch (IOException e) {  
            e.printStackTrace();  
        }finally{
        	if (null != os) {
        		os.close();
			}
        	if (null != is) {
        		is.close();
			}
        }
    }

2. JSP代码:
<a href="/boss/orderPay/download.htm?id=xxx">下载</a>

你可能感兴趣的:(java,jsp,UI)