spring 4mvc下载文件的实现

阅读更多
网上找到的版本较老 是spring3的
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter 这个spring4 已经弃用

spring 4.x的配置和实现为:
	  
      
          
        
              
              
                  
                      
                        text/plain;charset=UTF-8  
                      
                  
              
          
      
  



@RequestMapping("downloadExcel")
	public ResponseEntity downloadExcel(HttpServletRequest request)
			 {
//		String path = request.getContextPath();
//		String basePath = request.getScheme() + "://" + request.getServerName()
//				+ ":" + request.getServerPort() + path;
		 String realPath = request.getServletContext().getRealPath("/");
		String filepath = realPath + "/admin_files/ordertemplate.xls";
		File file = new File(filepath);
		HttpHeaders headers = new HttpHeaders();
		String fileName = null;
		try {
			fileName = new String("订单模板文件.xls".getBytes("UTF-8"),
					"iso-8859-1");
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}// 为了解决中文名称乱码问题
		headers.setContentDispositionFormData("attachment", fileName);
		headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
		try {
			return new ResponseEntity(FileUtils.readFileToByteArray(file),
					headers, HttpStatus.CREATED);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return null;
		}
	}


你可能感兴趣的:(spring,mvc下载)