FormData Ajax上传文件详细教程_兰亭古墨的博客-CSDN博客
<!DOCTYPE html>
<html lang="en">
<head>
<title>文件上传</title>
<script src="js/jquery-1.6.min.js" type="text/javascript"> </script>
</head>
<body>
<form>
<label class="aui-label-control"> 身份证号 </label>
<input type="text" name="cardnum" id="cardnum">
<label class="aui-label-control"> age </label>
<input type="text" name="age" id="age">
<label class="aui-label-control"> sex </label>
<input type="text" name="sex" id="sex">
<input type="file" name="file" id="file" />
</form>
<button id="post" onclick="clicks()">提交上传</button>
<script>
function clicks() {
console.log($("#cardnum").val());
console.log($("#age").val());
var formData = new FormData();
var cardnum = $("#cardnum").val();
var age = $("#age").val();
var sex = $("#sex").val();
var file = $("#file")[0].files[0];
if (file != "") {
formData.append("file", file);
}
formData.append("cardnum", cardnum);
formData.append("age", age);
formData.append("sex", sex);
$.ajax({
type: "POST",
url: "http://127.0.0.1:8080/xueji/insertstudents",
data: formData,
cache: false,
processData: false,
contentType: false,
success: function(data) {
console.log(data);
}
});
}
</script>
</body>
</html>
后端
package com.xueji.controller;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import com.xueji.bean.Student;
import com.xueji.service.StudentService;
import com.xueji.util.JsonData;
import com.xueji.util.UpLoadUtil;
@Controller
public class StudentController {
@Autowired
StudentService studentService;
/*
* 获取所有学生
*/
@RequestMapping("/getallstudents")
@ResponseBody
public JsonData getAllStudents() {
return JsonData.success(studentService.getAllStudent(), "success");
}
/*
* 获取某个学校的学生
*
*/
@RequestMapping("/getStudentBySchool")
@ResponseBody
public JsonData getStudentBySchool(String school) {
return JsonData.success(studentService.getStudentBySchool(school), "success");
}
/*
* 根据姓名模糊获取学生
*/
@RequestMapping("/getstudentsMoh")
@ResponseBody
public JsonData getAllStudents(String name) {
if (name.equals("") || name == null) {
return JsonData.fail("Name is empty");
} else {
return JsonData.success(studentService.getStudentByNameMoHo(name), "success");
}
}
/*
* 根据身份证号查询学生信息
*/
@RequestMapping("/getStudentByCardId")
@ResponseBody
public JsonData getStudentByCardId(String cardnum) {
if (cardnum.equals("") || cardnum == null) {
return JsonData.fail("cardnum is empty");
} else {
return JsonData.success(studentService.getStudentByCardId(cardnum), "success");
}
}
/*
* 录入学生信息(带录入图片)
*/
@RequestMapping("/insertstudents")
@ResponseBody
public JsonData InsertStudents(MultipartFile file, Student student, HttpServletRequest request)
throws IllegalStateException, IOException {
if (student.getCardnum() == null || student.getAge() == null || student.getSex() == null) {
return JsonData.fail("couldn't empty");
} else {
if (studentService.getStudentByCardId(student.getCardnum()) == null) {
int i = studentService.insert(student);
String filefath = UpLoadUtil.saveFile(file, request.getSession().getServletContext().getRealPath("/"));
student.setPath(filefath);
int count = studentService.insertImage(student);
return i > 0 && count > 0 ? JsonData.success(null, filefath) : JsonData.fail("inserts failed");
} else {
return JsonData.fail("student repeat");
}
}
}
/*
* 给学生更新图片
*/
@RequestMapping("/insertstudentsPath")
@ResponseBody
public JsonData InsertStudentImages(MultipartFile file, Student student, HttpServletRequest request)
throws IllegalStateException, IOException {
if(file.equals("500")||file.toString().equals("500")){
return JsonData.fail("更新失败!图片不能为空。");
}
else{
String filefath = UpLoadUtil.saveFile(file, request.getSession().getServletContext().getRealPath("/"));
student.setPath(filefath);
int count = studentService.insertImage(student);
return count > 0 ? JsonData.success(filefath) : JsonData.fail("failed");
}
}
// 根据身份证号更新学生信息(注册前权限)
@RequestMapping("/updateStudentByCardNum")
@ResponseBody
public JsonData updateStudentByCardNum(MultipartFile file, Student student, HttpServletRequest request)
throws IllegalStateException, IOException {
// 前台要判断文件不能为空
String filefath = UpLoadUtil.saveFile(file, request.getSession().getServletContext().getRealPath("/"));
student.setPath(filefath);
int count = studentService.updateStudentByCardNum(student);
return count > 0 ? JsonData.success(filefath) : JsonData.fail("failed");
}
// 根据身份证号更新学生信息(注册后权限,只能够更改学生的姓名、性别、照片;)
@RequestMapping("/updateStudentByCardNum2")
@ResponseBody
public JsonData updateStudentByCardNum2(MultipartFile file, Student student, HttpServletRequest request)
throws IllegalStateException, IOException {
// 前台要判断文件不能为空
String filefath = UpLoadUtil.saveFile(file, request.getSession().getServletContext().getRealPath("/"));
student.setPath(filefath);
int count = studentService.updateStudentByCardNum2(student);
return count > 0 ? JsonData.success(filefath) : JsonData.fail("failed");
}
// 根据身份证号删除学生信息
@RequestMapping("/deleteStuentByCardNum")
@ResponseBody
public JsonData deleteStuentByCardNum(String cardnum) {
if (cardnum == null || cardnum.equals("")) {
return JsonData.fail("cardnum empty");
} else {
int i = studentService.deleteStuentByCardNum(cardnum);
return i > 0 ? JsonData.success() : JsonData.fail("delete failed");
}
}
// 省管理员审核入籍(就是确定已注册)
// 通过审核
@RequestMapping("/okCheckStudents")
@ResponseBody
public JsonData isRegister(String cardnum) {
if (cardnum == null || cardnum.equals("")) {
return JsonData.fail("cardnum empty");
} else {
// 先查出学生
Student student = studentService.getStudentByCardId(cardnum);
student.setIsregister(1);// 代表审核成功,将标记为1
student.setStatus(1);// status 1 表示审核成功注册在籍
int i = studentService.updateStudentByCardNum(student);
return i > 0 ? JsonData.success() : JsonData.fail("check failed");
}
}
// 省管理员审核入籍(未通过审核)
// 未通过审核
@RequestMapping("/failedCheckStudents")
@ResponseBody
public JsonData noRegister(String cardnum) {
if (cardnum == null || cardnum.equals("")) {
return JsonData.fail("cardnum empty");
} else {
// 先查出学生
Student student = studentService.getStudentByCardId(cardnum);
student.setStatus(3);// status 3 表示审核未成功
int i = studentService.updateStudentByCardNum(student);
return i > 0 ? JsonData.success() : JsonData.fail("check failed");
}
}
// 状态,0录入未注册,1注册在籍,2提交在审,3提交未通过
// 为0的时候是在录入的时候,将isregister设置为0 status设置为0
// 校管理员提交审核
@RequestMapping("/tijiaoStudents")
@ResponseBody
public JsonData tijiaoStudents(String cardnum) {
if (cardnum == null || cardnum.equals("")) {
return JsonData.fail("cardnum empty");
} else {
// 先查出学生
Student student = studentService.getStudentByCardId(cardnum);
// 2代表提交在审
student.setStatus(2);
int i = studentService.updateStudentByCardNum(student);
return i > 0 ? JsonData.success() : JsonData.fail("check failed");
}
}
// 根据status的值查询出哪些同学已经注册,哪些注册未通过
// 0 获取录入但是未注册的学生
// 1 获取注册在学籍的学生
// 2 获取注册再审的学生
// 3 获取未通过的学生
@RequestMapping("/getStatusStudents")
@ResponseBody
public JsonData getAlerdyRegister(int status) {
return JsonData.success(studentService.getStatusStudent(status));
}
@InitBinder
public void initBinder(WebDataBinder binder) {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(true);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}
//不同条件查询数据
@RequestMapping("/getStudentsMsgByCondition")
@ResponseBody
public JsonData getStudentsMsgByCondition(Student student) {
Map<String, Object> map=new HashMap<String,Object>();
map.put("sex", student.getSex());
map.put("profession", student.getProfession());
map.put("address", student.getAddress());
map.put("admission",student.getAdmission());
map.put("graduate", student.getGraduate());
map.put("school", student.getSchool());
List<Student> list=studentService.getStudentsMsgByTimeCondition(map);
String mString=String.valueOf(list.size());
return JsonData.success(studentService.getStudentsMsgByTimeCondition(map), mString);
}
}