页面:
后台:
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(); } } } }