首页 > 代码库 > springmvc+mybatis下载项目自带模板
springmvc+mybatis下载项目自带模板
1、首先如果要获取javaweb项目中的文件在哪,用到的代码:request.getSession().getServletContext().getRealPath("/WEB-INF/down/花销数据导入模板.xlsx"),这样就能获得在WEB-INF文件夹下的down文件夹下的"花销数据导入模板.xlsx"文件。
2、如果要下载的文件带有中文会出现下载下来的文件文件名乱码的情况,此时用到如下代码:
response.setContentType("application/msexcel"); //下面三行是关键代码,处理乱码问题
response.setCharacterEncoding("utf-8");
response.setHeader("Content-disposition", "attachment; filename="+new String(fileName.getBytes("gbk"), "iso8859-1")+".xls");
3、下载项目自带模板后台代码如下(springmvc+mybatis框架):
/** * 下载模板 * @author dxy * * @param request * @param response * @throws Exception */ @RequestMapping("downLoadTemplate") @Action(description="编辑补贴项目") public void downLoadTemplate(HttpServletRequest request,HttpServletResponse response) throws Exception{ String path = request.getSession().getServletContext().getRealPath("/down/花销数据导入模板.xlsx"); File file = new File(path); String filename = file.getName();// 获取文件名称 InputStream fis = new BufferedInputStream(new FileInputStream(path)); byte[] buffer = new byte[fis.available()]; fis.read(buffer); fis.close(); response.reset(); // 先去掉文件名称中的空格,然后转换编码格式为utf-8,保证不出现乱码,这个文件名称用于浏览器的下载框中自动显示的文件名 response.addHeader("Content-Disposition", "attachment; filename="+new String(filename.getBytes("gbk"), "iso8859-1")); response.addHeader("Content-Length", "" + file.length()); OutputStream os = new BufferedOutputStream(response.getOutputStream()); response.setContentType("application/octet-stream"); os.write(buffer);// 输出文件 os.flush(); os.close(); }
springmvc+mybatis下载项目自带模板
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。