SpringMVC 下载本地文件

/**
* 下载区域模板
* @return
* @throws IOException
*/
@RequestMapping(value = "download",method = RequestMethod.GET)
public ResponseEntity<byte[]> download() throws IOException {
  //获取文件路径
  String path=PathUtil.getClasspath() + Constant.FILEPATHFILE + "区域.xls";
  File file=new File(path);
  HttpHeaders headers = new HttpHeaders();
  //为了解决中文名称乱码问题
  String fileName=new String("区域.xls".getBytes("UTF-8"),"iso-8859-1");
  headers.setContentDispositionFormData("attachment", fileName);
  headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
  return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);
  }

/**
* 路径工具类
* @author
*/
public class PathUtil {
/**
* 获取classpath1
* @return
*/
public static String getClasspath() {
  String path = (String.valueOf(Thread.currentThread().getContextClassLoader().getResource("")) + "../../").replaceAll("file:/", "").replaceAll("%20", " ").trim();
  if (path.indexOf(":") != 1) {
    path = File.separator + path;
  }
  return path;
}

原文地址:https://www.cnblogs.com/gaofz/p/7692110.html