文件下载


		String filePath = wenjianService.getlujing(attachId);
		String fileName= wenjianService.getwenjianmingchengPathName(attachId);

		//下载根据文件的名称和文件路径,这些路径和名称是在一个单独的表中存在,用来单独管理这些文件
		DownloadUtil.down(request, response, fileName, filePath);
		
		

		//下载的Java文件
		public static void down(HttpServletRequest request, HttpServletResponse response
			,String filename,String filepath) throws Exception{
	 	
		//response.setContentType("application/x-msdownload");
		response.setContentType(" application/x-xls;charset=uft-8");
		response.setContentType("application/octet-stream");
	 	response.setHeader("Content-disposition","attachment; filename=" + URLEncoder.encode(filename,"utf-8")); 
		
	 	java.io.FileInputStream in = null;     
	 	java.io.BufferedInputStream binpu = null;  
	 	java.io.BufferedOutputStream bout = null; 
	 	   
	 	OutputStream output = null;
		output = response.getOutputStream();
		File file = new File(filepath);
		if(file.isDirectory()){//如果传入的是文件的目录,则添加文件名称
			filepath+= filename;
		}
		if(filepath.startsWith("ftp://"))//如果是ftp,则用FTP下载
		{
			FTPHelper ftp = new FTPHelper();
			String serverFile = ftp.parseFTPAddress(filepath);
	       	ftp.get(serverFile, output);
	        output.flush();	
	        
		}else{
			FileInputStream fis = null;
			try{
				
				in = new java.io.FileInputStream(filepath);     
			    binpu = new java.io.BufferedInputStream(in);  
			    bout = new java.io.BufferedOutputStream(response.getOutputStream());         
			    byte[] b = new byte[1024];   
			    
				int i = 0;
			    while((i = binpu.read(b,0,b.length)) > 0){     
			        bout.write(b, 0, i);     
			    }         
			    bout.flush();   
			    //要加以下两句话,否则会报错      
			    response.flushBuffer();  
			}catch(Exception e){
				e.printStackTrace();
		 	}
			finally{
				if(fis != null){
					fis.close();
		 	  		fis = null;
		 	  	}			
		 	}
		}
		if(output != null){
			output.close();
			output = null;
		}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值