spring-mvc - 如何使用 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 错误,那么有人知道如何实现吗?如果有人帮助我,非常感谢
解决方案
你可以这样做: -
<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){
.....
}
推荐阅读
- youtube - YouTube Data API v3 中是否删除了用户观看记录?
- javascript - 从顶部显示的所有子菜单下拉菜单
- python - Django 注册查看如何从用户表单中获取用户以将配置文件分配给用户
- angular7 - Angular 7 - 在 img 标签中显示带有方向的图像
- java - Quartz 调度程序检查当前正在执行的作业
- python - 如何在我的 csv 第一列的字符串中添加一些东西?
- javascript - 过滤具有给定值的火基键
- python - 与 groupby 和 transform 一起使用时 fillna() 的内部工作
- c# - C# 项目上的 CMake:任何 CPU?
- multithreading - 多线程与共享内存