struts2文件下载

	public String download(){

			// 文件下载目录路径 

			String downloadFile =ServletActionContext.getServletContext().getRealPath("downloadtemp")
			  +"/"+downloadFileName; 

			File file = new File(downloadFile); 
			String filename = file.getName(); 


			// 以流的形式下载文件。 
			try {
				InputStream fis = new BufferedInputStream(new FileInputStream(downloadFile));
				try {
					byte[] buffer = new byte[fis.available()];
					fis.read(buffer); 
					fis.close(); 
					// 清空response 
					ActionContext ctx = ActionContext.getContext(); 
					HttpServletResponse response = (HttpServletResponse)ctx.get(ServletActionContext.HTTP_RESPONSE);        
					response.reset(); 
					// 设置response的Header 
					response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes())); 
					response.addHeader("Content-Length", "" + file.length()); 
					OutputStream toClient = new BufferedOutputStream(response.getOutputStream()); 
					response.setContentType("application/octet-stream"); 
					toClient.write(buffer); 
					toClient.flush(); 
					toClient.close(); 
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} 

			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} 
			return null; 

	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值