springMVC图片上传的处理方式详解
本文实例为大家分享了springMVC图片上传的处理方式,供大家参考,具体内容如下
首先需要依赖的jar包:
commons-io commons-io 1.3.2 commons-fileupload commons-fileupload 1.2.1 
页面:
上传 
大家如果觉得默认的上传文件的按钮不好看,可以引入下面的css样式:
.a-upload{
padding:4px10px;
height:27px;
line-height:27px;
position:relative;
cursor:pointer;
color:#888;
background:#fafafa;
border:1pxsolid#ddd;
border-radius:4px;
overflow:hidden;
}
.a-uploadinput{
position:absolute;
width:100%;
right:0;
top:0;
opacity:0;
filter:alpha(opacity=0);
cursor:pointer
}
.a-upload:hover{
color:#444;
background:#eee;
border-color:#ccc;
text-decoration:none
}
前端脚本:
$('#file').on('change',function(){
var$this=$(this);
varformData=newFormData();
formData.append('file',$('#file')[0].files[0]);
varfileName=$('#file')[0].files[0].name;
varfileType=fileName.substring(fileName.lastIndexOf('.')+1);
varfileSize=$('#file')[0].files[0].size;
if(fileType!='jpg'&&fileType!='png'&&fileType!='gif'){
alert("请上传.jpg、.png、.gif格式的图片!");
return;
}
if(fileSize>300*1024){
alert("请上传大小小于300KB的图片!");
return;
}
$.ajax({
url:'/admin/upload',
type:'POST',
data:formData,
cache:false,
processData:false,
contentType:false
}).done(function(result){
if(result!=''){
$this.closest('div').append('后端接收:
@RequestMapping(value="admin/upload",method=RequestMethod.POST)
@ResponseBody
publicStringuploadFile(@RequestParam("file")MultipartFilefile){
try{
Stringfilename=file.getOriginalFilename();
if(filename.endsWith("jpg")||filename.endsWith("png")||filename.endsWith("gif")){
Stringprefix=filename.substring(filename.lastIndexOf("."));
StringimgName=UUID.randomUUID().toString()+prefix;
StringimgUri=writeToFileSystem(imgName,file.getBytes());
returnimgUri;
}
}catch(Exceptione){
LOG.error("uploadFilefailed:",e);
}
returnnull;
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。