spring boot项目报FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum

Myth丶恋晨 2024-03-17 15:16 130阅读 0赞

近期在处理spring boot项目上传文件时遇到文件大小超过限制的情况。异常信息为FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted size of …今天把解决办法分享给大家

解决方案

解决这个问题,可以通过以下步骤进行操作:

1. 修改application.properties配置

打开application.properties文件,添加以下配置:

  1. spring.servlet.multipart.max-file-size=10MB
  2. spring.servlet.multipart.max-request-size=10MB

上述配置将允许上传的文件大小限制为10MB。你可以根据实际需求进行调整。

2. 添加文件上传控制器

  1. @RestController
  2. public class FileUploadController {
  3. private static final String UPLOAD_DIR = "uploads";
  4. @PostMapping("/upload")
  5. public String uploadFile(@RequestParam("file") MultipartFile file) throws IOException {
  6. if (file.isEmpty()) {
  7. return "Please select a file to upload.";
  8. }
  9. String fileName = StringUtils.cleanPath(file.getOriginalFilename());
  10. Path uploadPath = Paths.get(UPLOAD_DIR);
  11. if (!Files.exists(uploadPath)) {
  12. Files.createDirectories(uploadPath);
  13. }
  14. try (InputStream inputStream = file.getInputStream()) {
  15. Path filePath = uploadPath.resolve(fileName);
  16. Files.copy(inputStream, filePath, StandardCopyOption.REPLACE_EXISTING);
  17. } catch (IOException e) {
  18. return "Failed to upload file: " + fileName;
  19. }
  20. return "File uploaded successfully: " + fileName;
  21. }
  22. }

在上述代码中,我们定义了一个FileUploadController类,其中的uploadFile方法用于处理文件上传请求。在此方法中,我们首先判断上传的文件是否为空,然后获取文件名并创建上传目录。最后,将文件保存到上传目录中。

3. 前端页面

在前端页面中,我们需要创建一个表单来上传文件。以下是一个简单的HTML代码示例:

  1. <form action="/upload" method="post" enctype="multipart/form-data">
  2. <input type="file" name="file" />
  3. <input type="submit" value="Upload" />
  4. </form>

在上述代码中,我们创建了一个包含文件选择和提交按钮的表单,提交按钮的action属性指向文件上传的控制器路径。

总结

通过以上步骤,成功解决了Spring Boot项目中文件上传大小限制的问题。通过修改配置和编写相应的控制器,我们可以灵活地控制文件上传的大小限制,并提供友好的错误提示信息。希望我的分享对你有所帮助!

发表评论

表情:
评论列表 (有 0 条评论,130人围观)

还没有评论,来说两句吧...

相关阅读