服务器上传和下载文件

 @RequestMapping("/downLoadFile")
    public  void DownLoadFile(HttpServletRequest request, HttpServletResponse response) throws IOException {
        String fileName=request.getParameter("fileName");
        response.setContentType("text/html;charset=utf-8");
        response.setCharacterEncoding("utf-8");
        //System.out.println(fileName);
        //FileInputStream in = new FileInputStream("G:\"+fileName);
        FileInputStream in = new FileInputStream("/"+fileName);//static目录下
        response.setHeader("content-disposition",
                "attachment;filename=" + URLEncoder.encode("fileName", "utf-8"));
        OutputStream out = response.getOutputStream();
        // 创建缓冲区
        byte buffer[] = new byte[1024];
        int len = 0;
        // 循环将输入流中的内容读取到缓冲区中
        while ((len = in.read(buffer)) > 0) {
            // 输出缓冲区内容到浏览器,实现文件下载
            out.write(buffer, 0, len);
        }
        // 关闭文件流
        in.close();
        // 关闭输出流
        out.close();
    }


    @RequestMapping(value = "/Test")
    public String Test(HttpServletRequest request, HttpServletResponse response) throws IOException {
        System.out.println("请求成功");
        System.out.println(GetInputStreamString(request));
        return "请求成功";
    }

    public static String GetInputStreamString(HttpServletRequest request) throws IOException {
        StringBuffer data = new StringBuffer();
        String line = null;
        BufferedReader reader = request.getReader();
        while ((line = reader.readLine()) != null)
            data.append(line);
        return data.toString();
    }

    @RequestMapping(value = "/shangchuan")
    public String GetFile(HttpServletRequest request, HttpServletResponse response) throws IOException {
        ServletInputStream sis = request.getInputStream();
        String path=ClassUtils.getDefaultClassLoader().getResource("").getPath();//获取项目的绝对路径只会存到target中
        FileOutputStream fos = new FileOutputStream(path+"static/File/123.jpg");
        byte[] media = new byte[1024];
        int length = sis.read(media, 0, 1024);
        while(length  != -1)
        {
            fos.write(media, 0, length);
            length = sis.read(media, 0, 1024);

        }
        fos.close();
        sis.close();
        return "上传成功";
    }
原文地址:https://www.cnblogs.com/CY-947205926/p/8898104.html