peixue-dev/peidu/Archive/一次性文件/[一次性]图片上传问题总结-2026-01-25.md

2.2 KiB
Raw Blame History

图片上传问题总结

问题现象

用户上传几百KB的图片时出现错误提示

文件大小不能超过10485760MB

问题分析

1. 错误信息异常

错误信息显示 10485760MB约10TB这明显不对。

实际配置:

  • application.yml: max-file-size: 10MB
  • FileUploadConfig: max-size: 10

计算:10 * 1024 * 1024 = 10485760 字节

结论: 错误信息把字节数当成MB数显示了。

2. 可能的原因

原因A: Spring Boot默认限制

Spring Boot有默认的文件上传大小限制可能在我们的检查之前就被拦截了。

原因B: 文件实际大小超限

虽然用户说是"几百KB",但实际文件可能更大。

原因C: 配置未生效

后端可能没有重启,或者配置读取有问题。

解决方案

方案1: 检查实际文件大小

请用户提供:

  1. 上传的图片文件大小(右键→属性查看)
  2. 后端控制台的日志输出

方案2: 增加文件大小限制

如果确实需要上传更大的文件,修改配置:

# application.yml
spring:
  servlet:
    multipart:
      max-file-size: 50MB      # 增加到50MB
      max-request-size: 50MB

file:
  upload:
    max-size: 50               # 增加到50MB

方案3: 修复错误信息显示

当前代码已经是正确的:

return Result.error("文件大小不能超过" + fileUploadConfig.getMaxSize() + "MB");

如果还是显示错误的数字,可能是其他地方的错误信息。

调试步骤

1. 查看后端日志

上传时,后端会输出:

=== 上传图片(智能模式) ===
文件名: xxx.jpg
文件大小: 123456 bytes
上传模式: remote

请提供这个日志。

2. 确认文件大小

在Windows中

  • 右键点击图片
  • 选择"属性"
  • 查看"大小"(字节数)

3. 测试不同大小的图片

  • 测试1: 100KB的图片
  • 测试2: 1MB的图片
  • 测试3: 5MB的图片

看看哪个能成功上传。

当前状态

上传功能已实现 前端可以选择文件 请求可以发送到后端 文件大小检查有问题

下一步

  1. 查看后端日志,确认实际文件大小
  2. 确认是哪个检查触发的错误
  3. 根据实际情况调整配置或修复代码