温馨提示×

SpringMVC中如何上传文件

小亿
82
2024-04-18 15:55:11
栏目: 编程语言

在SpringMVC中上传文件通常使用MultipartFile对象来接收文件,以下是一个简单的文件上传示例:

  1. 在Controller中编写文件上传方法:
@Controller
public class FileUploadController {

    @PostMapping("/upload")
    public String handleFileUpload(@RequestParam("file") MultipartFile file) {
        // 判断文件是否为空
        if (file.isEmpty()) {
            return "redirect:/error";
        }

        try {
            // 获取文件名
            String fileName = file.getOriginalFilename();
            // 获取文件内容
            byte[] bytes = file.getBytes();

            // 保存文件
            Path path = Paths.get("uploads/" + fileName);
            Files.write(path, bytes);

            return "redirect:/success";
        } catch (IOException e) {
            e.printStackTrace();
            return "redirect:/error";
        }
    }
}
  1. 在页面中添加文件上传表单:
<form method="POST" action="/upload" enctype="multipart/form-data">
    <input type="file" name="file" />
    <input type="submit" value="Upload" />
</form>
  1. 在Spring的配置文件中添加MultipartResolver配置:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="maxUploadSize" value="10485760" /> <!-- 设置最大上传文件大小,单位为字节 -->
</bean>

以上代码演示了如何在SpringMVC中上传文件,通过MultipartFile对象接收文件并保存到指定路径。在实际应用中,还可以对文件大小、文件类型等进行验证。

0