1. 单文件上传
1.1 前端代码
文件上传 :<input type="file" id="file" name="filename" />
1.2 Ajax获取数据上传
var formData = new FormData();
var files = document.getElementById("file").files;
if(files.length <= 0){
alert("请选择文件");
return;
}
var file = files[0];
formData.append("file",file);
$.ajax({
type:"post",
url:"upload.do",
data:formData,
processData : false,
contentType : false,
success:function(data){
alert("上传成功");
},
error:function(e){
alert("上传失败");
}
});
1.3 后台数据接收
1.3.1 SpringMVC自带注解接收文件
@RequestMapping("upload.do")
public void upload(@RequestParam(value="file")MultipartFile file) throws Exception {
file.getOriginalFilename();
file.getBytes();
...
}
1.3.2 HttpServletRequest接收文件
@RequestMapping("upload.do")
public void upload() throws Exception {
MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) request;
MultipartFile file = multipartHttpServletRequest.getFile("file");
file.getOriginalFilename();
file.getBytes();
...
}
2. 多文件上传
2.1 前端代码
文件上传1 :<input type="file" id="file1" name="filename" />
文件上传2 :<input type="file" id="file2" name="filename" />
文件上传3 :<input type="file" id="file3" name="filename" />
2.2 Ajax获取数据上传
var formData = new FormData();
var files = document.getElementsByName("filename");
for (var i = 0, len = files.length; i < len; i++){
var fs = files[i].files;
if(fs.length <= 0){
alert("请先上传文件");
return;
}
formData.append("files",fs[0]);
}
$.ajax({
type:"post",
url:"upload.do",
data:formData,
processData : false,
contentType : false,
success:function(data){
alert("上传成功");
},
error:function(e){
alert("上传失败");
}
});
2.3 后台数据接收
2.3.1 SpringMVC自带注解接收文件
@RequestMapping("upload.do")
public void upload(@RequestParam(value="files") MultipartFile[] files) throws Exception {
for(int i = 0,len = files.length; i < len; i++){
files[i].getOriginalFilename();
files[i].getBytes();
...
}
2.3.2 HttpServletRequest接收文件
@RequestMapping("upload.do")
public void upload() throws Exception {
MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) request;
MultipartFile[] files = multipartHttpServletRequest.getFiles("files");
for(int i = 0,len = files.length; i < len; i++){
files[i].getOriginalFilename();<br>
files[i].getBytes();
...
}
}