文件上传——FormData
XMLHttpRequest 新增了FormData 可用于文件上传
三种创建方式
1.var formdata = new FormData();
2.var formobj = document.getElementById(“form”);、
var formdata = new FormData(formobj);
3.var formobj = document.getElementById(“form”);
var formdata = formobj.getFormData()
基本操作
formData.append(“key”,“value”);
formData.delete(“key”)
formData.get(“key”)
formData.getAll(“key”)
formData.has(“key”)
formData.set(“key”,“value”) //与append的主要区别 set会覆盖同一个key append添加value在原来的值后面
例子:
<html>
<head>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
</head>
<body>
<input id="file" name="file" type="file"></input>
<button id="upload" type="button">upload</button>
<script>
$("#upload").click(function(event){
var formData=new FormData();
formData.append("file",$('#file')[0].files[0]);
formData.append("task_id",111);
$.ajax({
url: 'http://127.0.0.1:8085/test/upload',
type: 'POST',
cache: false,
data: formData,
processData: false,
contentType: false
}).done(function(res) {
}).fail(function(res) {
});
})
</script>
</body>
</html>
服务端:
public Map multiFileUpload(@RequestParam(name = “file”, required = false) MultipartFile[] files)