spring boot进行上传文件

1、pom文件添加依赖

<!-- 添加thymeleaf -->
        <dependency>  
         <groupId>org.springframework.boot</groupId>  
         <artifactId>spring-boot-starter-thymeleaf</artifactId>  
        </dependency>

2、就可以直接在代码中进行实现上传下载的功能了

       上传代码如下

     

    @Override
    @RequestMapping("/upload")
    public JsonResult uploadFile(MultipartFile file) {
      //进行上传操作  
    }

  下载代码如下

    @Override
    @RequestMapping("/open/v1/file/downloadFile")
    public void downloadFile(String url, HttpServletResponse response) {
        if (url != null) {
            try {
                URL urls = new URL(url);
                URLConnection urlCon = urls.openConnection();
                InputStream in = urlCon.getInputStream();
                //设置响应类型
                response.setContentType("application/octet-stream");//应用程序强制下载
                response.setContentType("multipart/form-data");
                //设置响应头,对文件进行url编码

                String fileName = urls.getFile();
                fileName = fileName.replaceAll("/", "_");
                String name = URLEncoder.encode(fileName, "UTF-8");
                response.setHeader("Content-Disposition", "enclosure;filename=" + name);
                response.setContentLength(urlCon.getContentLength());
                OutputStream out = response.getOutputStream();

                byte[] b = new byte[1024];
                int len = 0;
                while ((len = in.read(b)) != -1) {
                    out.write(b, 0, len);
                }

                out.flush();
                out.close();
                in.close();
            } catch (IOException e) {
                logger.error(e.getMessage());
                throw new SunawException("文件下载异常");
            }
        }
    }

  然后上传下载的最基础功能就实现了。

  然而基本的上传操作只能上传1M以内的文件,那么如何上传更大的文件呢。具体操作请看下文....

  

  在yaml文件里面进行添加配置信息

spring:
  servlet:
    multipart:
      max-file-size: 50MB   #单个文件最大上传大小
      max-request-size: 50MB  #单次请求最大上传大小

  这样就可控制上传文件的大小格式了。

       

      然而那些年久失修的项目,已进行上传就会上传失败为什么呢,主要是因为我们系统会定期清理文件,会将springboot一启动项目就会生成的tomcat临时文件进行删除掉,所以我们需要改变上传文件临时文件的存放目录。具体实现看上一篇文章。

  tomcat临时目录

   

原文地址:https://www.cnblogs.com/tanyucong/p/10369981.html