springboot 上传文件

来源:互联网 发布:无缝拼图软件四宫格 编辑:程序博客网 时间:2024/05/01 11:09

//上传需要的依赖

<dependency>

<groupId>io.leopard</groupId>

<artifactId>leopard-upload</artifactId>

<version>0.9.11</version>

</dependency>


<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-thymeleaf</artifactId>

</dependency>

//实现添加用户的方法@Overridepublic void insert(User user, MultipartFile multipartFile, HttpServletRequest request) {    //获取文件名    String fi = multipartFile.getOriginalFilename();    InputStream inputStream = null;    try    {        inputStream = multipartFile.getInputStream();    }    catch            (IOException e) {        e.printStackTrace();    }    long millis = System.currentTimeMillis();    //拼接新的文件名    String newName = fi+millis;    //定义物理路径    String wlpath="E:\\idea-kongjian\\cargo\\src\\main\\resources\\static"+newName;    //临时路径    String pathRoot = request.getSession().getServletContext().getRealPath("/");//自动寻找target根目录    String lsPath = pathRoot+"\\images\\"+newName;    //判断是否需要创建文件夹    //物理路径文件夹    File wlFile = new File("E:\\idea-kongjian\\cargo\\src\\main\\resources\\static");    //临时路径文件夹    File lsFile = new File(pathRoot+"\\images");    if(!wlFile.exists()) {        wlFile.mkdir();    }    if(!lsFile.exists())    {        lsFile.mkdir();    }    //执行读写操作    if(!multipartFile.isEmpty())    {        //将文件放入物理路径        FileOutputStream wlFileOutputStream = null;        try        {            wlFileOutputStream = new FileOutputStream(wlpath);        }        catch                (FileNotFoundException e) {            e.printStackTrace();        }        //将文件放入临时路径        FileOutputStream lsFileOutputStream1 = null;        try        {            lsFileOutputStream1 = new FileOutputStream(lsPath);        }        catch                (FileNotFoundException e) {            e.printStackTrace();        }        int line = 0;        try        {            while                    ((line = inputStream.read()) != -1)            {                //写入物理路径                wlFileOutputStream.write(line);                //写入临时路径                lsFileOutputStream1.write(line);            }        }        catch                (IOException e) {            e.printStackTrace();        }        try        {            wlFileOutputStream.flush();            lsFileOutputStream1.flush();            lsFileOutputStream1.close();            wlFileOutputStream.close();            inputStream.close();        }        catch                (IOException e) {            e.printStackTrace();        }    }    //逻辑路径    String ljPath = "../images/"+newName;    user.setPortrait(ljPath);    //调用方法    um.insert(user);}







需要注意的是:前台表单提交为post springboot 上传图片默认大小为2M


原创粉丝点击