Spring boot mvc 上传文件

  • 引入 jar
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
  • 在 application.properties 配置上传文件最大文件大小
### 1.5.x
spring.http.multipart.max-file-size=10MB
spring.http.multipart.max-request-size=10MB
### 2.0.x
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB
  • 代码示例
@RestController
public class HelloController
{
    @RequestMapping("uploadImage")
    @ResponseBody
    public String uploadImage(@RequestParam("file") MultipartFile file)
    {
        try {
          // 假设上传的是 png 格式图片
          String tmpPath = "/tmp/tmp.png";
          File targetFile = new File(tmpPath);

          byte[] byteArray = IOUtils.toByteArray(file.getInputStream());
          OutputStream outStream = new FileOutputStream(targetFile);
          IOUtils.write(byteArray, outStream);
          outStream.close();
        } catch (FileNotFoundException e) {
          e.printStackTrace();
        } catch (IOException e) {
          e.printStackTrace();
        }

        return "ok";
    }
}

注意:

这里为什么要用 IOUtils?

因为如果上传的是含有中文的话,会报错的!所以我们直接操作io,以流的方式操作 ,就不会报错

spring boot 配置上传资源路径访问

spring boot 配置静态资源路径访问