如何在 Spring Boot Web 应用程序中上传文件

x33g5p2x  于2022-10-05 转载在 Spring  
字(1.2k)|赞(0)|评价(0)|浏览(355)

HTML 页面可以使用 enctype 属性“multipart/form-data”配置要上传的文件。 开箱即用,org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration 已经支持启用分段上传。 因此,让我们看一个示例 HTML 页面,其中包含一个带有 enctype=”multipart/form-data” 的表单来上传文件:

<?xml version="1.0"?>
<form action="uploadFile" th:action="@{/uploadFile}" method="post" enctype="multipart/form-data">
  <input type="file" name="myFile"/>
  <input type="submit"/>
</form>

为了处理请求,我们可以实现一个控制器,如下例所示:

@PostMapping("/uploadFile")
  public String handleFileUpload(@RequestParam("myFile") MultipartFile file) {
    if (!file.isEmpty()) {
      String name = file.getOriginalFilename();
      try {
        byte[] bytes = file.getBytes();
        Files.write(new File(name).toPath(), bytes);
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    return "redirect:/fileUpload";
  }

最后,我们需要配置我们的 Spring Boot 应用程序以启用 Multipart 文件上传,并设置可以上传的最大文件大小。 打开 src/main/resources/application.properties 文件,添加如下配置:

spring.servlet.multipart.enabled=true spring.servlet.multipart.max-file-size=2MB spring.servlet.multipart.max-request-size=20MB spring.servlet.multipart.file-size-threshold=5MB

享受使用 Spring Boot 上传文件的乐趣!

相关文章

微信公众号

最新文章

更多