• springboot简易上传下载


    1.导入上传下载依赖:

         <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
                <version>1.3.2</version>
            </dependency>
    
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.4</version>
            </dependency>
        <!-- 添加thymeleaf -->
         <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-thymeleaf</artifactId>
         </dependency>

    2.上传:

    1)前端页面:

    <!DOCTYPE html>
    <html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script>
            function exproExcel() {
                
            }
        </script>
    </head>
    <body>
        <h1>Spring Boot</h1>
        <a href="/Expro/excel">导出</a>
        <p th:text="${hello}"></p>
        <p>文件上传</p>
        <form action="/upload/file" method="post" enctype="multipart/form-data">
            上传:<input type="file" name="upfile"/>
            <button type="submit">提交</button>
        </form>
    
    </body>
    </html>

    2)编写跳到上传页面接口:

    @Controller
    public class HelloController {
    
        @RequestMapping("/hello")
        public String helloIndex(HashMap<String, Object> map){
    
            map.put("hello","Hello SpringBoot!");
            return "/index";
        }
    }

    3)编写接收上传文件接口:

    @Controller
    @RequestMapping("/upload")
    public class UploadFileController {
    
        @RequestMapping(value = "/file")
        public @ResponseBody String uploadFile(@RequestParam("upfile") MultipartFile file, HttpServletRequest request){
    
            String message ="";
    
            try {
    
                if(!file.isEmpty()){
    
                    FileOutputStream outputStream = new FileOutputStream("F:\XIAOYAO"+"\"+file.getOriginalFilename());
    
                    outputStream.write(file.getBytes());
                    outputStream.flush();
                    outputStream.close();
    
                    message="上传成功!";
    
    
                }
    
    
    
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
                message="上传失败!";
            } catch (IOException e) {
                e.printStackTrace();
                message="上传失败!";
            }
    
                return message;
        }
    }

    3.下载:

    1)编写下载接口:

    @RestController
    @RequestMapping("/Expro")
    public class ExprotExcelController {
    
        @RequestMapping("/excel")
        public void exproExcel(HttpServletRequest request, HttpServletResponse response) throws Exception{
    
            String path =  ClassLoader.getSystemResource("").toURI().getPath(); //获取类加载地址
    
            System.out.println(path);
    
            File file = new File(path+"excelTempalte/模板.xlsx");
            FileInputStream fileInputStream = new FileInputStream(file); //读取文件
    
            response.setHeader("Content-disposition", "attachment;filename=test.xlsx"); //设置响应头和文件名字
            OutputStream outputStream = response.getOutputStream();
    
            //创建缓存区
            byte [] buffe = new byte[1024];
    
            int len =0;
    
            while ((len =fileInputStream.read(buffe))>0){
                outputStream.write(buffe,0,len);
            }
            
    
            fileInputStream.close();
            outputStream.flush();
            outputStream.close();
        }
    }
  • 相关阅读:
    centos7 计划任务 定时运行sh
    Nginx负载均衡配置 域名和IP 访问时从java request.getServerName()获取不同问题解决
    windows2012激活方式 2016激活方式 windows10激活方式
    CentOS7 安装Chrome
    使用 go-cqhttp 在龙芯和其他平台搭建qq机器人
    KDE桌面无故特效消失和图标黑底
    SDUST 小学期飞机大战简述
    SDUST 小学期飞机大战简述
    宝塔中极速安装的PHP如何使用AMQP连接RabbitMQ
    Electron登录注册桌面应用源码+安装文件的打包方法
  • 原文地址:https://www.cnblogs.com/chenziyu/p/9257755.html
Copyright © 2020-2023  润新知