You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring图片上传API:已校验MIME类型,仍需校验零文件大小吗?

Spring图片上传API的文件校验问题解析

你的校验逻辑与配置

你目前的伪代码校验逻辑:

// 伪代码
MultipartFile image
if image.contentType != "image/*"
then throw

if image.size == 0
then throw

同时通过配置限制了最大文件大小:

# 通过配置文件校验最大文件大小
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB

是否仍需校验文件大小为零的情况?

必须保留这个校验,原因有两点:

  • Spring的max-file-size和max-request-size只限制上传文件的最大体积,完全管不了零大小的空文件;
  • 空文件可能被伪装成图片类型(比如手动设置Content-Type为image/*),这类文件没有任何有效图片数据,后续存储、解析或展示环节都会报错,提前拦截能避免后续不必要的问题。

是否存在零大小的图片MIME类型文件?

存在。比如:

  • 用户误上传的空文件,被系统或客户端错误标记为image/*类型;
  • 恶意构造的空文件,手动指定Content-Type为image/jpeg、image/png等图片类型,这类文件没有任何图片的头部、像素等核心数据,本质是无效文件。

内容的提问来源于stack exchange,提问作者양정훈

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 04:12:09