基于Spring Boot利用 ajax实现上传图片功能
效果如下:
1.启动类中加入
SpringBoot重写addResourceHandlers映射文件路径
@Override publicvoidaddResourceHandlers(ResourceHandlerRegistryregistry){ registry.addResourceHandler("/imctemp-rainy/**").addResourceLocations("file:D:/E/"); }
设置静态资源路径
2. 表单前端页面
$(function(){ $("#button").click(function(){ varform=newFormData(); form.append("file",document.getElementById("file").files[0]); $.ajax({ url:"/stu/upload",//后台url data:form, cache:false, async:false, type:"POST",//类型,POST或者GET dataType:'json',//数据返回类型,可以是xml、json等 processData:false, contentType:false, success:function(data){//成功,回调函数 if(data){ varpic="/imctemp-rainy/"+data.fileName; $("#urlimg").attr("src",pic); //alert(JSON.stringify(data)); }else{ alert("失败"); } }, error:function(er){//失败,回调函数 alert(JSON.stringify(data)); } }); }) })
控制器
publicstaticvoiduploadFile(byte[]file,StringfilePath,StringfileName)throwsException{ FiletargetFile=newFile(filePath); if(!targetFile.exists()){ targetFile.mkdirs(); } FileOutputStreamout=newFileOutputStream(filePath+"/"+fileName); out.write(file); out.flush(); out.close(); } //处理文件上传 @ResponseBody//返回json数据 @RequestMapping(value="upload",method=RequestMethod.POST) publicJSONObjectuploadImg(@RequestParam("file")MultipartFilefile,HttpServletRequestrequest){ StringcontentType=file.getContentType(); System.out.print(contentType); StringfileName=System.currentTimeMillis()+file.getOriginalFilename(); StringfilePath="D:/E"; JSONObjectjo=newJSONObject();//实例化json数据 if(file.isEmpty()){ jo.put("success",0); jo.put("fileName",""); } try{ uploadFile(file.getBytes(),filePath,fileName); jo.put("success",1); jo.put("fileName",fileName); //jo.put("xfileName",filePath+"/"+fileName); }catch(Exceptione){ //TODO:handleexception } //返回json returnjo; }
总结
以上所述是小编给大家介绍的基于SpringBoot利用ajax实现上传图片功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。