zoukankan      html  css  js  c++  java
  • 文件下载

    这个下载很简单,很实用,上方是Spring注解,只要这个模块代码就行了,是从我项目中摘出来的,很独立

    /** -----------------------文件下载---------------------------------------------- */
    	
    	/* 招飞初检文件下载   本案例只要得到路径就可以了 */
    	@RequestMapping(params = "method=InitDownLoad", method = RequestMethod.GET)
    	public void InitDownLoad(HttpServletRequest request,HttpServletResponse response) {
    		String downLoadPath=URLDecoder.decode(request.getParameter("downLoadPath")); //得到文件路径
    		String fileName=downLoadPath.split("/")[downLoadPath.split("/").length-1];
    		response.reset();															//response.reset() 来清除首部的空白行
    		response.setContentType("application/octet-stream");
    		response.setCharacterEncoding("UTF-8");
    		File file=new File(downLoadPath);											//放入文件流
    		if(file.exists()){
    			InputStream in=null;													//输入流
    			BufferedInputStream bis=null;
    			OutputStream out=null;													//输出流
    			BufferedOutputStream bos=null;
    			try {
    				in=new FileInputStream(file);
    				bis=new BufferedInputStream(in);
    				response.setHeader("Content-Disposition", "attachment;filename=" + java.net.URLEncoder.encode(fileName, "UTF-8"));//设置头文件  可参照 http://blog.csdn.net/fanyuna/article/details/5568089
    				byte[] data=new byte[1024];
    				int bytes=0;
    				out=response.getOutputStream();
    				bos=new BufferedOutputStream(out);
    				while((bytes=bis.read(data, 0, data.length))!=-1){
    					bos.write(data,0,bytes);										//写出文件流										
    				}
    				bos.flush();
    				
    			} catch (Exception e) {
    				e.printStackTrace();
    			}finally{
    				try{
    					bos.close();
    					out.close();
    					bis.close();
    					in.close();
    				}catch(Exception e){
    				e.printStackTrace();	
    				}
    			}
    		}
    		
    		
    	}
    

     

    宝贝网址:

  • 相关阅读:
    Ajax 笔记
    Node.js笔记
    Linux 简介与安装
    安装 Git for Windows
    Git学习:版本控制、Git简介与安装
    Git学习:基本设置、基本操作与工作原理
    JAVA:一篇文章理清多态
    浅入浅出数据结构(25)——最小生成树问题
    浅入浅出数据结构(24)——最短路径问题
    浅入浅出数据结构(23)——图的概念、存储方式与拓扑排序
  • 原文地址:https://www.cnblogs.com/W203654/p/2471999.html
Copyright © 2011-2022 走看看