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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。