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

    页面:

    后台:

    package com.js.ai.modules.shwindow.util;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    /**
     * 
     * @ClassName: DownloadCsv
     * @Description: 下载 csv文件工具类
     * @author:
     * @date: 
     */
    public class DownloadCsv {
    	/**
    	 * 
    	 * @Title: downloadCsv
    	 * @Description: TODO下载 csv文件
    	 * @param request
    	 * @param response
    	 * @param fileName
    	 * @throws Exception
    	
    	 * @return: void
    	 */
    public static void downloadCsv(HttpServletRequest request, HttpServletResponse response,String fileName ) throws Exception{
    		
    		response.setContentType("text/html;charset=UTF-8");
    		BufferedInputStream in = null;
    		BufferedOutputStream out = null;
    		request.setCharacterEncoding("UTF-8");
    		String rootpath = request.getSession().getServletContext().getRealPath("/");
    		try {
    			File f = new File(rootpath + "folder/" + fileName);
    			response.setContentType("application/x-excel");
    			response.setCharacterEncoding("UTF-8");
    			response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
    			response.setHeader("Content-Length", String.valueOf(f.length()));
    			in = new BufferedInputStream(new FileInputStream(f));
    			out = new BufferedOutputStream(response.getOutputStream());
    			byte[] data = new byte[1024];
    			int len = 0;
    			while (-1 != (len = in.read(data, 0, data.length))) {
    				out.write(data, 0, len);
    			}
    		} catch (Exception e) {
    			e.printStackTrace();  
    		} finally {
    			if (in != null) {
    				in.close();
    			}
    			if (out != null) {
    				out.close();
    			}
    		}
    	}
    
    }
    

      

  • 相关阅读:
    第二次冲刺第六天
    第二次冲刺第五天
    第二次冲刺第四天
    Java多线程学习篇(三)Lock
    Java多线程学习篇(二)synchronized
    Java多线程学习篇(一)
    codeforces 895D
    模运算的乘法逆元
    codeforces 889B
    codeforces 878C
  • 原文地址:https://www.cnblogs.com/ipetergo/p/7271878.html
Copyright © 2011-2022 走看看