前端:
<form method="post" enctype="multipart/form-data" id="formSubmit">
<div class="row">
<div class="col-lg-12" style="padding-left:25px;padding-top: 5px">
<label>请选择文件</label>
<input type="file" name="file" title="点击选择文件" multiple="" accept="*/*" class="form-control">
</div>
</div>
<div class="row">
<div style="padding-left:25px;padding-top:10px">
<input type="submit" class="btn btn-primary">
</div>
</div>
</form>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
JS: $( '#formSubmit' ).submit( function (event) {
//首先验证文件格式
var fileName = $( this ).find( "input[name=file]" ).val();
if (fileName === '' ) {
alert( '请选择文件' );
return ;
}
// mulitipart form,如文件上传类
var formData = new FormData( this );
$.ajax({
async: false ,
type: "POST" ,
url: "/upload" ,
data: formData,
dataType: "JSON" ,
mimeType: "multipart/form-data" ,
contentType: false ,
cache: false ,
processData: false ,
success: function (data) {
if (data.success) {
layer.alert( "上传成功" )
} else {
layer.alert(data.error)
}
}
});
return false ;
});
|
js代码的最后需要return false 防止表单重复提交,刷新页面。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
java: @RequestMapping(value = "/upload" , method = RequestMethod.POST, produces = "application/json;charset=utf-8" )
@ResponseBody
public SimpleAjaxResponse uploadSingleFile(HttpServletRequest request, Model model) {
try {
DefaultMultipartHttpServletRequest httpServletRequest = (DefaultMultipartHttpServletRequest) request;
MultipartFile multipartFile = httpServletRequest.getFile( "file" );
return new SimpleAjaxResponse( true );
} catch (Exception e) {
LOGGER.error(e.getMessage(), e);
e.printStackTrace();
return new SimpleAjaxResponse( "上传出错了" );
}
}
|