MultipartFile 是 Spring MVC 提供的一个接口,专门用于处理文件上传操作。它是 Spring 对 HTTP multipart 请求的封装。

  1. 基本概念
    MultipartFile 代表客户端上传的文件,包含了文件的所有元数据和内容。它通常用于处理 HTML 表单中的文件上传字段。
  2. 主要方法

主要方法


MultipartFile 常见方法:

  • String getOriginalFilename(); //获取原始文件名
  • void transferTo(File dest); //将接收的文件转存到磁盘文件中
  • long getSize(); //获取文件的大小,单位:字节
  • byte[] getBytes(); //获取文件内容的字节数组
  • InputStream getInputStream(); //获取接收到的文件内容的输入流

3.使用示例

前端 HTML 表单

<form action="/upload" method="post" enctype="multipart/form-data">
    <input type="text" name="username" />
    <input type="file" name="file" />
    <input type="submit" value="上传" />
</form>

后端 Controller

@PostMapping("/upload")
public Result upload(@RequestParam("username") String username,
                     @RequestParam("file") MultipartFile file) {
    if (!file.isEmpty()) {
        try {
            // 获取文件信息
            String originalName = file.getOriginalFilename();
            String contentType = file.getContentType();
            long size = file.getSize();
            
            // 保存文件到服务器
            file.transferTo(new File("/path/to/save/" + originalName));
            
            return Result.success("文件上传成功");
        } catch (IOException e) {
            return Result.error("文件上传失败");
        }
    }
    return Result.error("文件为空");
}
  1. 注意事项

4.1 表单配置:HTML 表单必须设置 enctype="multipart/form-data"
4.2 参数名称:@RequestParam 中的名称必须与前端表单字段名称一致
4.3 文件大小限制:可通过配置文件设置最大上传文件大小
4.4 异常处理:文件操作可能抛出 IOException,需要妥善处理
4.5 安全性:应验证文件类型和大小,防止恶意文件上传

最后修改:2025 年 09 月 10 日
如果觉得我的文章对你有用,请随意赞赏