自定义表单提交
js代码
//创建一个表单对象
var formData = new FormData();
//头像input
if($("#touxiang").val() != "") {
formData.append("touxaing", $("#touxiang")[0].files[0]);
}
//用户对象
var customer = {
'nickname': "张三",
'birthday': 2018-10-01 12:12:00,
'sex': "男"
}
formData.append("customer", JSON.stringify(customer));
$.ajax({
type: 'POST',
url: "../../customer/saveCustomer.do",
data: formData,
contentType: false,
processData: false, //这个很有必要,不然不行
mimeType: "multipart/form-data",
dataType: "json",
success: function(data) {
alert(data.message);
window.location.reload();
}
})
后台java代码,controller层
/**
* 保存个人资料
*/
@SuppressWarnings("rawtypes")
@RequestMapping("/saveCustomer")
@ResponseBody
public void saveCustomerData( @RequestParam(required=false) MultipartFile touxaing, @RequestParam String customer){
ObjectMapper objectMapper = new ObjectMapper();
//将json对象序列化成java对象
Customers customer = objectMapper.readValue(customer, Customers.class);
//头像img
if (touxaing != null) {
//获取文件名
String oldName = touxaing.getOriginalFilename();
//截取文件后缀名
String extName = oldName.substring(oldName.lastIndexOf(".") + 1);
//调用工具类获取数据库保存的url,传入文件名和后缀名
//此处省略一万行代码
}
}