Java教程

2021-05-03

本文主要是介绍2021-05-03,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

SSM文件下载

  1. 获取下载文件位置所有信息
 @GetMapping("/downLoadFiles")
    public  String downLoadFiles(HttpServletRequest request, Model model){
//        读取保存文件的地址,获取名称
        String realPath = request.getServletContext().getRealPath("/upload");
        File savefile=new File(realPath);
        List<String> fileNames = new ArrayList<>();
        File[] files = savefile.listFiles();
        for (File file:files) {
            fileNames.add(file.getName());
        }
        model.addAttribute("fileNames",fileNames);
        return "downLoad";

    }
  1. 获取名字点击下载
   @GetMapping("/fileDownLoad")
    public ResponseEntity downLoad(@PathVariable("fileName") String fileName,HttpServletRequest request) throws IOException {
        String realPath = request.getServletContext().getRealPath("/upload");
        HttpHeaders headers = new HttpHeaders();
//        以流的形式下载
        headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
//        用户手动下载而不是自动下载
        headers.setContentDispositionFormData("attachment",fileName);
       return new ResponseEntity<>(
               FileUtils.readFileToByteArray(new File(realPath,fileName))//把要下载的文件以ByteArray形式返回
               ,headers,//我们自定义响应头信息
               HttpStatus.OK);//状态码


    }
这篇关于2021-05-03的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!