3.10 文件上传
< div class = " btn-group" role = " group" >
< button type = " button" class = " btn btn-default" id = " but_logout" > 老师登出</ button>
< button type = " button" class = " btn btn-default" id = " but_add" > 添加学生</ button>
< button type = " button" class = " btn btn-default" id = " but_delete" > 删除学生</ button>
< button type = " button" class = " btn btn-default" id = " but_add_sphoto" > 文件上传</ button>
</ div>
创建文件上传的模态框 和 添加学生模态框完全相同 只是多了一个file
< div class = " modal fade" id = " addSphotoModal" tabindex = " -1" role = " dialog" aria-labelledby = " addSphotoModalLabel" >
< div class = " modal-dialog" role = " document" >
< div class = " modal-content" >
< div class = " modal-header" >
< button type = " button" class = " close" data-dismiss = " modal" aria-label = " Close" > < span aria-hidden = " true" > × </ span> </ button>
< h4 class = " modal-title" id = " addSphotoModalLabel" > 添加学生(文件上传)</ h4>
</ div>
< div class = " modal-body" >
< form id = " form_add_sphoto" >
< div class = " form-group" >
< label class = " control-label" > 学生名字:</ label>
< input type = " text" class = " form-control" name = " sname" value = " 韩梅梅" >
</ div>
< div class = " form-group" >
< label class = " control-label" > 学生分数:</ label>
< input type = " text" class = " form-control" name = " score" value = " 19.5" >
</ div>
< div class = " form-group" >
< label class = " control-label" > 学生年龄:</ label>
< input type = " text" class = " form-control" name = " sage" value = " 18" >
</ div>
< div class = " form-group" >
< label class = " control-label" > 学生生日:</ label>
< input type = " date" class = " form-control" name = " sbirth" >
</ div>
< div class = " form-group" >
< label class = " control-label" > 学生性别:</ label>
< label class = " radio-inline" >
< input type = " radio" name = " sex" value = " 男" checked > 男
</ label>
< label class = " radio-inline" >
< input type = " radio" name = " sex" value = " 女" > 女
</ label>
</ div>
< div class = " form-group" >
< label class = " control-label" > 政治面貌:</ label>
< label class = " radio-inline" >
< input type = " radio" name = " sdy" value = " true" checked > 党员
</ label>
< label class = " radio-inline" >
< input type = " radio" name = " sdy" value = " true" > 群众
</ label>
</ div>
< div class = " form-group" >
< label class = " control-label" > 学生班级:</ label>
< select class = " form-control" name = " sclass" >
< option value = " java第1期" > java第1期</ option>
< option value = " java第2期" > java第2期</ option>
< option value = " java第3期" > java第3期</ option>
< option value = " java第4期" > java第4期</ option>
< option value = " java第5期" > java第5期</ option>
</ select>
</ div>
< div class = " form-group" >
< label class = " control-label" > 学生照片:</ label>
< input type = " file" class = " form-control" name = " photo" >
</ div>
</ form>
</ div>
< div class = " modal-footer" >
< button type = " button" class = " btn btn-default" data-dismiss = " modal" > 取消添加</ button>
< button type = " button" class = " btn btn-primary" id = " but_submit_add_sphoto" > 确认添加(文件上传)</ button>
</ div>
</ div>
</ div>
</ div>
< ! -- 文件上传的js-- >
< script type= "text/javascript" >
$ ( function ( ) {
$ ( "#but_add_sphoto" ) . bind ( "click" , function ( ) {
$ ( "#addSphotoModal" ) . modal ( "show" ) ;
} ) ;
$ ( "#but_submit_add_sphoto" ) . bind ( "click" , function ( ) {
var formData= new FormData ( $ ( "#form_add_sphoto" ) [ 0 ] ) ;
$. ajax ( {
cache : false ,
type : "POST" ,
data : formData,
url : path+ "student/sphotoUpload.action" ,
contentType : false ,
processData : false ,
dataType : "json" ,
async : false ,
success : function ( rv ) {
if ( rv. status== 200 ) {
$ ( "#addSphotoModal" ) . modal ( "hide" ) ;
$ ( "#table_student" ) . bootstrapTable ( "refresh" ) ;
return ;
}
alert ( rv. errorMessage) ;
}
} ) ;
} ) ;
} ) ;
< / script>
@PostMapping ( "/student/sphotoUpload.action" )
public ResponseVO < String > addOneConstainsSphotoMethod ( @RequestParam ( "photo" ) MultipartFile photo, Student student, HttpServletRequest req) {
String path= req. getSession ( ) . getServletContext ( ) . getRealPath ( "/imgs" ) ;
String muDiFileName= UUID. randomUUID ( ) . toString ( ) . replace ( "-" , "" ) + "_" + photo. getOriginalFilename ( ) ;
File muDiFile= new File ( path, muDiFileName) ;
try {
photo. transferTo ( muDiFile) ;
} catch ( Exception e) {
throw new StudentCrudException ( e. getMessage ( ) ) ;
}
student. setSphoto ( muDiFile. getName ( ) ) ;
return new ResponseVO < > ( 200 , null , "修改成功行数:" + service. addOneContainsSphotoMethod ( student) ) ;
}
@Insert ( "insert into student(sname,sex,score,sdy,sage,sbirth,sclass,sphoto) values(#{sname},#{sex},#{score},#{sdy},#{sage},#{sbirth},#{sclass},#{sphoto})" )
int insertContainsPhoto ( Student student) ;