@RequestMapping("/act/worldcup_schedule_time/imgdownload") @ResponseBody public String scheduleDownload(HttpServletRequest request, HttpServletResponse response, HttpSession session) { response.setCharacterEncoding("UTF-8"); String downLoadName = "worldcup.jpg"; InputStream input = null; try { request.setCharacterEncoding("UTF-8");
String osName = System.getProperties().getProperty("os.name");
String sp = (osName.equals("Window") ? "\\" : "/");
//获取文件的路径 // String url = session.getServletContext().getRealPath("/") + "resources\\images\\act\\worldcup_merge\\worldcup720.png"; String url = session.getServletContext().getRealPath("/") + "resources/images/act/worldcup_merge/worldcup720.png"; System.out.println(url); File file = new File(url); input = FileUtils.openInputStream(file); byte[] data = IOUtils.toByteArray(input); //System.out.println("文件名:"+downLoadName); response.reset(); //设置响应的报头信息(中文问题解决办法) response.setHeader("content-disposition", "attachment;fileName=" + URLEncoder.encode(downLoadName, "UTF-8")); response.addHeader("Content-Length", "" + data.length); response.setContentType("image/png; charset=UTF-8"); IOUtils.write(data, response.getOutputStream()); } catch (Exception e) { logger.error("下载图片出错"); if (input != null) { IOUtils.closeQuietly(input); } } return null; }