首页 > 解决方案 > 如何使用 springMvc 从表单(“multipart/form-data”)中获取数据?

问题描述

如何使用 springMvc 从表单(“multipart/form-data”)中获取数据?

我想上传一个文件(一张照片),所以表格的类型是'multipart/form-data'

但是我发现springMVC无法将数据(表单中的)映射到User的属性中,我知道我应该使用multipartFile来接受图片,但是表单中的其他数据如何自动映射到对象User中呢?

<form enctype="multipart/form-data" type="post" action="....">
    <input type"file" name="photo"/>
    <input type"text" name="username"/>
     .....
</form>

@RequestMapping("...")
public String editUser(User user,MultipartFile multipartFile){
.....
}

我收到 400 bad request 错误,那么有人知道如何实现吗?如果有人帮助我,非常感谢

标签: spring-mvc

解决方案


你可以这样做: -

<form enctype="multipart/form-data" type="post" action="....">
<input type"file" name="photo"/>
<input type"text" name="username"/>
 .....
</form>

在此页面上添加模型属性并在您的控制器中使用它,如下所示:-

@RequestMapping("...")
public String editUser(@RequestParam("photo") MultipartFile photo,
 @ModelAttribute("your model attribute") User user){
.....
}

推荐阅读