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

    /**
    	 * 下载方法
    	 * @param request
    	 * @param response
    	 * @param storeName 文件在存在位置的名字(需要带着后缀)
    	 * @param contentType 下载文件的类型(如果文件类型比较多直接用"multipart/form-data"会自己判断文件类型)
    	 * @param realName 用户下载文件的名称
    	 * @throws Exception
    	 */
    	public void download(HttpServletRequest request,
    			HttpServletResponse response, String storeName, String contentType,
    			String realName) throws Exception {
    		response.setContentType("text/html;charset=UTF-8");
    		request.setCharacterEncoding("UTF-8");
    		BufferedInputStream bis = null;
    		BufferedOutputStream bos = null;
                    //fileUploadPath文件的路径
                    //UpFileRoute.itemFile是保存的目录名称
    		String ctxPath = fileUploadPath+
    				"\"+UpFileRoute.itemFile+"\";
    		String downLoadPath = ctxPath + storeName;
    
    		long fileLength = new File(downLoadPath).length();
    
    		response.setContentType(contentType);
    		response.setHeader("Content-disposition", "attachment; filename="
    				+ new String(realName.getBytes("utf-8"), "ISO8859-1"));
    		response.setHeader("Content-Length", String.valueOf(fileLength));
    
    		bis = new BufferedInputStream(new FileInputStream(downLoadPath));
    		bos = new BufferedOutputStream(response.getOutputStream());
    		byte[] buff = new byte[2048];
    		int bytesRead;
    		while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
    			bos.write(buff, 0, bytesRead);
    		}
    		bis.close();
    		bos.close();
    	}    
    

      

  • 相关阅读:
    ASP.NET API盘点
    C# POST与Get数据
    洛谷 P3373 【模板】线段树 2
    洛谷 P1972 [SDOI2009]HH的项链
    洛谷 P1113 杂务(vector)
    POJ 3249 Test for Job
    POJ 1734 Sightseeing trip(Floyd)
    洛谷 P1202 [USACO1.1]黑色星期五Friday the Thirteenth
    洛谷 P1484 种树
    洛谷 P1801 黑匣子_NOI导刊2010提高(06)
  • 原文地址:https://www.cnblogs.com/jianguang/p/5545892.html
Copyright © 2011-2022 走看看