Spring MVC通过MultipartResolver实现单文件,多文件上传的详细讲解。
2017-05-20 18:04
585 查看
Spring MVC实现单文件,多文件上传及其详细配置。Spring使用Jakarta Commons FileUpload实现了一个MultipartResolver实现类:CommonsMultipartResolver。
1. 加入jar包 :Spring MVC文件上传,需要添加如下两个jar包:
2. Spring 配置 CommonsMultipartResolver:
p:defaultEncoding=”UTF-8”:这里设置默认的文件编码为UTF-8,必须与用户JSP的默认编码一致。
p:maxUploadSize=”5242880”:指定文件上传大小,单位为字节。
p:uploadTempDir=”upload/temp”:文件上传临时目录,上传完成后,就会将临时文件删除。
代码:
截图:
3. JSP 页面:
必须设置才能上传 enctype=”multipart/form-data”
多文件上传注意 file 的 name 值不能重复
代码:
截图:
4. 控制层代码:
代码:
截图:
5. 效果截图:
测试输出
上传成功
1. 加入jar包 :Spring MVC文件上传,需要添加如下两个jar包:
commons-fileupload-1.2.2.jar commons-io-2.0.1.jar
2. Spring 配置 CommonsMultipartResolver:
p:defaultEncoding=”UTF-8”:这里设置默认的文件编码为UTF-8,必须与用户JSP的默认编码一致。
p:maxUploadSize=”5242880”:指定文件上传大小,单位为字节。
p:uploadTempDir=”upload/temp”:文件上传临时目录,上传完成后,就会将临时文件删除。
代码:
<!-- 文件上传 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 设置上传文件的最大尺寸为5MB --> <property name="maxUploadSize"> <value>5242880</value> </property> <!-- 这里设置默认的文件编码为UTF-8,必须与用户JSP的默认编码一致 --> <property name="defaultEncoding"> <value>UTF-8</value> </property> <!-- 文件上传临时目录,上传完成后,就会将临时文件删除 --> <property name="uploadTempDir"> <value>upload/temp</value> </property> </bean>
截图:
3. JSP 页面:
必须设置才能上传 enctype=”multipart/form-data”
多文件上传注意 file 的 name 值不能重复
代码:
<form action="upload.htm" method="post" enctype="multipart/form-data"> <div class="imgbox"> <div class="imgnum"> <input type="file" class="filepath" name="pic1" > </div> </div> <div class="imgbox"> <div class="imgnum"> <input type="file" class="filepath" name="pic2" /> </div> </div> <P class="btn_p"> <input type="submit" class="btn_submit" value="确认提交" /> </P> </form>
截图:
4. 控制层代码:
代码:
@RequestMapping("/upload") public String upload(HttpServletRequest request,MultipartFile file)throws Exception{ // 创建一个通用的多部分解析器 CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver( request.getSession().getServletContext()); //判断 request 是否有文件上传,即多部分请求 if(multipartResolver.isMultipart(request)){ //转换成多部分request MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)request; //取得request中的所有文件名 Iterator<String> iter = multiRequest.getFileNames(); while(iter.hasNext()){ //取得上传文件 file = multiRequest.getFile(iter.next()); //对上传文件进行处理 if(!file.isEmpty()){ //上传图片至此路径下 String path = "D://images//Designer//goods//"; String fileName = file.getOriginalFilename(); File targetFile = new File(path, fileName); System.out.println("文件路径"+path + "文件名"+fileName); if(!targetFile.exists()){ targetFile.mkdirs(); } //保存 try { file.transferTo(targetFile); System.out.println("保存成功【"+file.getOriginalFilename()+"】完成..."); } catch (Exception e) { e.printStackTrace(); } } } } return "queryDesignerGoods.htm"; }
截图:
5. 效果截图:
测试输出
上传成功
相关文章推荐
- Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传GOOD
- Spring MVC3.2 通过Servlet3.0实现文件上传
- Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传
- Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传
- Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传
- Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传
- Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传
- 在PHP中通过POST方法实现文件上传功能
- struts2.0实现多个文件上传的二种方法(通过数组和集合来实现)
- 详细讲解Asp_net MVC上传文件与下载文件的方法
- java通过apache ftp实现ftp上传文件,下载文件
- spring mvc 实现任意文件上传—— 下载<二>
- Struts2通过commons-fileupload实现文件上传
- JQuery的AJAX与Spring MVC实现异步文件上传
- Android通过HTTP协议实现上传文件数据
- php中通过Ajax如何实现异步文件上传的代码实例
- Struts2通过commons-fileupload实现文件上传
- PHP文件上传的原理及实现 函数详细设置
- C# WinForm通过WebClient实现文件上传下载 (附源码)
- Struts2通过commons-fileupload实现文件上传