前端代码
<form action="javascript:;" method="post" id="msg" enctype="multipart/form-data">
<input type="text" placeholder="密码" name="password">
<input type="text" placeholder="姓名" name="name"></div>
<input type="text" placeholder="身份信息" name="identity">
<input type="text" placeholder="手机号" name="phone">
<input type="file" placeholder="头像" name="userImg">
</form>
//entype必须设置
function register() {
alert(1)
var formData = new FormData($("#msg")[0]); //传递formdata表单对象
$.ajax({
url: "${pageContext.request.contextPath}/userController/register",
data:formData,
type: "POST",
dataType: "JSON",
processData:false, //必须要设置
contentType:false, //必须要设置
success: function (data) {
if (data.msg=="false"){
alert("身份信息错误请重新输入")
return false;
}if(data.msg=="exit"){
alert("账号已存在请直接登录")
return false;
}if (data.msg=="success"){
alert("注册成功")
location.href="${pageContext.request.contextPath}/GameTradingSystem/login.jsp"
}
}
})
}
public Map register(String username, String password, String name, String identity,
String phone, MultipartFile userImg) throws IOException {
// 后端分别通过key从前端取值 file文件用MultipartFile 取值
//下面带有文件处理方式
Map map = new HashMap();
String s = id2demo.postData(appCode, url, name, identity);
System.out.println(s);
boolean dd = s.contains("身份证信息不匹配");
System.out.println(dd+"1111111111111111111111");
boolean b = userService.userExit(username);
if (dd) {
map.put("msg", "false");
} else if (b) {
map.put("msg", "exit");
} else{
try {
String filename = userImg.getOriginalFilename();
String newName = UUID.randomUUID() + filename;
File file = new File("E:\\GMT\\GMTP\\" + newName);
userImg.transferTo(file);
System.out.println(file);
userService.addUser(new User(0, username, password, 1, newName, phone, identity, "1"));
map.put("msg", "success");
} catch (IOException e) {
e.printStackTrace();
}
}
return map;
}
其中文件处理需要引入依赖和mvc文件上传配置