(文件)图片上传,Spring或SpringMVC框架
2016-12-08 12:36
369 查看
spring或springMVC框架图片(文件)上传
页面部分,用一个简单的form表单提交文件,将图片或文件提交到服务端。一个输入框,用于输入图片的最终名称,一个file文件选择,用于选择图片。
页面代码如下:
js部分,发送一个ajax请求,先检查名称是否重复。没有重复才设置form的action,然后提交表单。代码如下:
最后是后台代码,解释都放在注释里,更便于观看。
页面部分,用一个简单的form表单提交文件,将图片或文件提交到服务端。一个输入框,用于输入图片的最终名称,一个file文件选择,用于选择图片。
页面代码如下:
<form id="form1" > <table style="width:100%;border:0;"> <tr> <th style="width:35;text-align: center;" class="must">图片名称:</th> <td><input id="imgName" style="width:150px;" name="imagePath" verify="true" mustFill="true" maxlength="100" /></td> </tr> <tr id="fileSelect"> <th></th> <td> <input type="file" name="file" id="doc" style="width:150px;" onchange="javascript:setImagePreview(this);"> </td> </table> </form>
js部分,发送一个ajax请求,先检查名称是否重复。没有重复才设置form的action,然后提交表单。代码如下:
//发送检查名称是否重复的后台函数的请求,可以忽略 $.ajax({url:"<%=contextPath%>/imageUploadController/imageExistCheck",type:'POST',dataType:'json',data:data ,success:function(msg){ if(msg.result==false&&$("#saveOrUpdata").val()!="1"){ alert("名称重复,请修改名称"); return 0; }else{//没重复或者要修改 //下面这个if用于验证表单必填项是否都填了,忽略。 if(Common.verify($("#createForm"))){ //设置form的action $('#form1').attr('action', '<%=contextPath%>/imageUploadController/imageUpload'); $("#form1").submit(); } } },error:function(xhr){alert('错误\n'+xhr.result);}}); return false; });
最后是后台代码,解释都放在注释里,更便于观看。
@RequestMapping(value="/imageUpload",method=RequestMethod.POST) public String upLoadImage(FireEquipmentInfo fireEquipmentInfo,HttpServletRequest req){ //转化request MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) req; MultipartFile multipartFile = multipartRequest.getFile("file"); //获取原文件名 String fileName = multipartFile.getOriginalFilename(); //获取原名后缀 String fileEnd = fileName.substring(fileName.lastIndexOf(".")+1).toLowerCase(); String realName =null; //获取项目根目录 String imagePath=req.getSession().getServletContext().getRealPath("/"); String imageName=null; imageName=RequestUtil.getStringParameter(req, "imagePath"); //拼接路径和最终名 imagePath+="img/login/"; realName=imageName+ "." + fileEnd; try { //实例化一个file File file = new File(imagePath); //创建路径 if(!file.exists()) file.mkdirs(); //创建文件 file=new File(imagePath+"/"+realName); file = new File(imagePath,realName); //文件存储 multipartFile.transferTo(file); } catch (Exception e) { req.setAttribute("msg", e.getMessage()); }
相关文章推荐
- JavaEE框架——Springmvc入门(注解URL核心类详解、文件上传和下载)、和Spring的整合
- spring 多文件上传 + 图片缩放 + 图片截取(头像功能)
- AFNetworking框架_上传文件或图片到服务器
- 基于spring-boot的web应用,ckeditor上传文件图片文件
- jsp+springmvc实现文件上传、图片上传和及时预览图片
- AFNetworking框架_上传文件或图片…
- SpringMVC案例3----spring3.0项目拦截器、ajax、文件上传应用
- SpringMVC框架下的文件上传(多文件)
- springMVC框架下——通用接口之图片上传接口
- SpringMVC文件上传、拦截器、与Spring的整合以及与Struts2的比较
- springmvc上传文件报错org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.web.multipart.MultipartFile]
- 04springMVC结构,mvc模式,spring-mvc流程,spring-mvc的第一个例子,三种handlerMapping,几种控制器,springmvc基于注解的开发,文件上传,拦截器,s
- Spring_SpringMVC_MyBaties框架搭建是 jdbc.properties文件注意事项
- bootstrap + angularjs + springmvc + mybatis框架之图片上传和展示
- Spring文件上传下载and图片上传及前台显示
- [iOS AFNetworking框架实现HTTP请求、多文件图片上传下载]
- 基于spring 3.0mvc 框架的文件上传实现
- springmvc 上传图片文件和创建图片虚拟路径读取图片
- SpringMVC+Ajax用FormData对象上传页面的图片(文件),并且立马在页面上显示出来
- springmvc + ajaxfileupload 实现异步上传文件(图片)