1、前期准备:
Spring文件上传操作,此文中是基于Commons FileUpload 的文件上传
maven 管理jar包,在pom.xml 添加commons-fileupload.jar的依赖:
<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.2.2</version> </dependency>
2、Spring配置文件修改(spring-servlet.xml):
由于Post一个包含文件上传的Form会以multipart/form-data请求发送给服务器,必须要通知DispatcherServlet如何处理MultipartRequest请求:
<!--文件上传--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" p:defaultEncoding="utf-8" p:maxUploadSize="1048576" />
这样一旦某个Request是一个MultipartRequest,它就会首先被MultipartResolver处理,然后再转发相应的Controller。
3、Controller的编写:
/** * 文件上传控制。 * @author xialong<mailto:longxia1987@hotmail.com> * @param request * @return */ @ResponseBody @RequestMapping(value = "/xlsUpload.json",method=RequestMethod.POST) public Map<String,Object> xlsUpload(HttpServletRequest request) { Map<String,Object> map = new HashMap<String,Object>(); try { // 转型为MultipartHttpRequest: MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; // 获得文件: MultipartFile file = multipartRequest.getFile("file"); // 获得文件名: String filename = file.getOriginalFilename(); System.out.println(filename); // 获得输入流: InputStream input = file.getInputStream(); map.put("code", "S"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); map.put("code", "E"); } return map; }
4、页面的编写;
这地方用到了jquery.form 来进行异步的表单提交。请下载最新的jquer.form.js;
<head> <script src="${pageContext.request.contextPath}/scripts/jquery/jquery-1.7.2.js" type="text/javascript"></script> <script src="${pageContext.request.contextPath}/scripts/jquery/jquery.form.js" type="text/javascript"></script> <script> $(document).ready(function(){ $('#xlsForm').ajaxForm({ url:'/file/xlsUpload.json', type:'post', dataType: 'json', success:function (data){ if(data.code == "S"){ alert("success!!!"); }else{ alert("error "); } }, error:function(data){ alert("未知异常"); } }); }); function dosubmit(){ var fileName = $('#fileInfo').val(); alert(fileName); if('' == fileName) { alert("请选择上传文件"); return; } var bingIndex = fileName.lastIndexOf('.'); if(-1 == bingIndex) { alert("上传文件格式错误"); return; } var suffix = fileName.substring(bingIndex + 1, fileName.length); if('xls' == suffix) { $('#xlsForm').submit(); } else { alert("上传文件必须是已“xls”为后缀的Excel文件"); } } </script> </head> <body> <form id="xlsForm" method="post" enctype="multipart/form-data" > <input id="fileInfo" type="file" name="file" /> <input id="xlsBut" type="button" value="upload" onclick="dosubmit()" /> </form> </body>
相关推荐
java spring 文件上传实例,包含了完整的 spring 文件上传配置
struts+spring文件上传大小限制 所以不设资源分,可以自由下载
例如MSDN 的资源上传,yahoo邮箱的附件上传,论坛的附件上传等,文件上传的方式有很多种,例如,使用Struts框架实现文件上传,在JSP中使用jspSmartUpload 组件实现文件上传和使用Spring框架实现文件上传等
spring文件上传,文件上传 传统方式 借助第三方组件实现文件上传: UserController.java编写:
封装springmvc上传单文件、多文件保存,保存文件时(文件夹路径不存在则创建),会改变文件名,使用起来非常方便。
使用了Apache的commons-fileupload完成的具体的上传操作,可以在Spring的各个版本使用,具体下载的代码可以参看我的对应的博客
spring文件上传测试项目
AXIS2 + SPRING 文件上传 用MYECLIPSE直接导入文件运行即可.
spring mvc上传文件jar包,下载解压导入即用!!!!!!
这里整理了齐全的jar包 ,我是在开发的过程中积累的,很多是跟别人要的,希望能帮到系伙伴们.不够的请联系我
使用springcloud的负载均衡 以及网关 实现文件的上传处理参看链接 https://blog.csdn.net/zhaoyu_nb/article/details/80579918
通用excel导入功能 文件上传下载功能 以及相关的依赖包 自己用的,下载你自己给分
NULL 博文链接:https://fanshuyao.iteye.com/blog/2431007
基于SpringBoot的文件上传系统,前后端分离,单文件上传,多文件上传,大文件上传,断点续传,文件秒传,图片上传 项目经过严格测试,确保可以运行! 采用前后端分离的方式进行开发,实现了几种常用的文件上传功能...
spring mvc文件上传,通过监听器实现进度条
SpringMVC单文件上传、多文件上传、文件列表显示、文件下载,具体效果和过程看博文http://blog.csdn.net/evankaka/article/details/45826697
用springmvc的框架,实现了文件的上传,真实进度条的显示,多种上传方式选择一种,总有一种适合。jar包也都在工程里,是maven项目。访问http://localhost:8110/SpringMVCFileUpload/up3.jsp,或者同目录下的其他jsp...
Spring MVC文件上传下载,是http://blog.csdn.net/geloin/article/details/7537425#comments的配套资源。
基于Spring的Web项目,涉及的要点、servlet的注入和使用,spring上下文对象的获得和使用,以及配置属性文件properties中属性值的获得,最后通过前台首页显示,实现文件的上传和下载