- 浏览: 127408 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (80)
- 常见问题 (14)
- spring (10)
- HttpClient (2)
- 数据库 (4)
- Excel操作 (4)
- FtpClient (3)
- SpringMvc (2)
- Hessian (0)
- JasperReport (0)
- 其他 (5)
- js (4)
- css (4)
- jquery (0)
- Java (4)
- 反射 (1)
- CSV操作 (2)
- freemarker (3)
- hibernate (1)
- mongoDB (1)
- DB2 (2)
- 业务 (1)
- MAVEN (1)
- 权限控制 (1)
- 技术文档 (2)
- 生活琐事 (3)
- 性能问题 (1)
- UML (1)
- 工作总结 (1)
- 安卓 (1)
最新评论
-
菜鸟900101:
真心谢谢,解决了我头疼好几天的问题,谢谢谢谢
使用Ftpclient从FTP上进行下载时文件少一个字节,打不开 -
一生荣耀白:
[u][/u]
Freemarker分页的宏 -
liyang678:
这样不就得要求 被请求一方必须按您的这种XML格式解析吗。
使用HttpClient、注解、动态代理、Spring的Bean后处理器实现Http消息发送 -
liyang678:
可以演示一下如何调用吗。不是很明白呢。
使用HttpClient、注解、动态代理、Spring的Bean后处理器实现Http消息发送 -
hzxlb910:
...
使用TransactionTemplate来完成Spring的编程式事务管理
文件上传可以使用普通的表单提交,也可以使用AJAX异步提交,如果需要使用AJAX提交则需要引入juery.form.js。
1、普通的表单提交文件上传
2、使用AJAX异步提交
1、普通的表单提交文件上传
web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <!-- spring 监听--> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- spring 字符集过滤 --> <filter> <filter-name>CharacterEncoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter </filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncoding</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CharacterEncoding</filter-name> <url-pattern>*.htm</url-pattern> </filter-mapping> <!-- spring mvc --> <servlet> <servlet-name>http</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet </servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:dispatcher-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>http</servlet-name> <url-pattern>*.action</url-pattern> </servlet-mapping> </web-app> dispatcher-servlet.xml: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <!-- Spring @AutoWired 依赖自动注入,不需要setter方法 --> <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" /> <!-- Spring 扫描使用注解的包路径 --> <context:component-scan base-package="com.it.springweb.controller" /> <!-- Freemarker模板配置 --> <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath" value="/WEB-INF/freemarker/" /> <property name="defaultEncoding" value="UTF-8" /> </bean> <!--Freemarker视图解析器 --> <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <property name="cache" value="true" /> <property name="prefix" value="" /> <property name="suffix" value=".ftl" /> <property name="exposeSpringMacroHelpers" value="true" /> <property name="exposeRequestAttributes" value="true" /> <property name="exposeSessionAttributes" value="true" /> <property name="requestContextAttribute" value="request" /> <property name="contentType" value="text/html; charset=utf-8" /> </bean> <!-- Spring JSON 格式转换依赖的Jar --> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" /> <!-- 支持上传文件 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 10M --> <property name="maxUploadSize"> <value>52428800</value> </property> <property name="maxInMemorySize"> <value>10240</value> </property> <property name="defaultEncoding"> <value>UTF-8</value> </property> </bean> </beans>
//普通的文件上传 @Controller public class MyController { @Autowired public UserService userService; @RequestMapping("/showView") public String showView(HttpServletRequest request) { userService.deleteUser("1"); request.setAttribute("name", "张三"); return "showView"; } /** * * 文件上传 <br> * 〈功能详细描述〉 * * @param request * @return * @see [相关类/方法](可选) * @since [产品/模块版本](可选) */ @RequestMapping("/importFileDatas") public String importFileDatas(HttpServletRequest request) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartFile multipartFile = multipartRequest.getFile("uploadFile"); List<Map<String, Object>> userList = new ArrayList<Map<String, Object>>(); BufferedReader br = null; try { InputStream is = multipartFile.getInputStream(); br = new BufferedReader(new InputStreamReader(is, "UTF-8")); String line = null; while ((line = br.readLine()) != null) { String[] datas = line.split(","); Map<String, Object> userMap = new HashMap<String, Object>(); userMap.put("userName", datas[0]); userMap.put("password", datas[1]); userMap.put("address", datas[2]); userMap.put("phone", datas[3]); userList.add(userMap); } } catch (Exception e) { // } finally { if (br != null) { IOUtils.closeQuietly(br); } } // 保存用户数据到用户表 saveBatchUserList(userList); return "showView"; } private void saveBatchUserList(List<Map<String, Object>> userList) { } }
showView.ftl: <!doctype html> <html> <head> <meta charset="utf-8"/> <title></title> <#assign ctxPath=request.contextPath> <#setting number_format="#"> <script type="text/javascript" src="${ctxPath}/staticfile/js/jquery-1.7.1.js"></script> <script> function upload(){ $("#uploadForm").submit(); } </script> </head> <body> 姓名: ${name!''} <form name="uploadForm" id="uploadForm" action="${ctxPath}/importFileDatas.action" method="post" enctype="multipart/form-data"> <input type="file" name="uploadFile"> <input type="button" onclick="upload()" value="上传"> </form> </body> </html>
2、使用AJAX异步提交
//通过AJAX异步请求实现文件上传 @Controller public class MyController { /** * * 文件上传 <br> * 〈功能详细描述〉 * * @param request * @return * @see [相关类/方法](可选) * @since [产品/模块版本](可选) */ @RequestMapping("/importFileDatas") public void importFileDatas(HttpServletRequest request, HttpServletResponse response) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartFile multipartFile = multipartRequest.getFile("uploadFile"); List<Map<String, Object>> userList = new ArrayList<Map<String, Object>>(); BufferedReader br = null; try { InputStream is = multipartFile.getInputStream(); br = new BufferedReader(new InputStreamReader(is, "UTF-8")); String line = null; while ((line = br.readLine()) != null) { String[] datas = line.split(","); Map<String, Object> userMap = new HashMap<String, Object>(); userMap.put("userName", datas[0]); userMap.put("password", datas[1]); userMap.put("address", datas[2]); userMap.put("phone", datas[3]); userList.add(userMap); } } catch (Exception e) { // } finally { if (br != null) { IOUtils.closeQuietly(br); } } // 保存用户数据到用户表 boolean flag = saveBatchUserList(userList); Map<String, Object> result = new HashMap<String, Object>(); result.put("count", userList.size()); result.put("flag", flag ? "success" : "failed"); JSONArray jsonArray=JSONArray.fromObject(result); try { response.getWriter().print(jsonArray); } catch (IOException e) { } } private boolean saveBatchUserList(List<Map<String, Object>> userList) { return false; } }
<!doctype html> <html> <head> <meta charset="utf-8"/> <title></title> <#assign ctxPath=request.contextPath> <#setting number_format="#"> <script type="text/javascript" src="${ctxPath}/staticfile/js/jquery-1.7.1.js"></script> <script type="text/javascript" src="${ctxPath}/staticfile/js/jquery.form.js"></script> <script> function upload(){ var submitForm=$("#uploadForm")[0]; var options = { target: submitForm, success: function(resultMap) { //把返回的结果转化为json对象 var result=resultMap[0]; var count=result.count; var flag=result.flag; alert("上传"+count+"个"); alert(flag); }, error: function(){ alert("系统异常,暂时无法访问!"); }, type: 'post', dataType: 'json', iframe: true, async:false, clearForm: false, resetForm: false }; $(submitForm).ajaxSubmit(options); } </script> </head> <body> 姓名: ${name!''} <form name="uploadForm" id="uploadForm" action="${ctxPath}/importFileDatas.action" method="post" enctype="multipart/form-data"> <input type="file" name="uploadFile"> <input type="button" onclick="upload()" value="上传"> </form> </body> </html>
发表评论
-
如何使用spring中的定时任务
2017-10-20 15:00 411<!-- spring 定时任务 begin--&g ... -
spring事务深入理解和案例分析
2017-08-15 19:30 625http://www.cnblogs.com/fjding ... -
MQ消息接收接口
2014-05-23 09:18 1812<beans xmlns="http:// ... -
使用HttpClient、注解、动态代理、Spring的Bean后处理器实现Http消息发送
2014-05-15 17:47 2597<beans xmlns="http:// ... -
使用Jmstemplate向队列中发送数据
2014-05-15 16:43 4935<?xml version="1.0&qu ... -
Spring文件下载
2014-04-15 15:47 720@Controller public class MyC ... -
Spring定时任务调度
2014-04-14 16:57 756第1种方式: public class PayJob e ... -
对TransactionTemplate进行封装,使用程序调用更加简单
2014-03-19 14:18 3411<!-- DB2 dataSource--> ... -
使用TransactionTemplate来完成Spring的编程式事务管理
2014-03-19 14:14 4154<!-- 资源文件 --> <!-- ...
相关推荐
java spring 文件上传实例,包含了完整的 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中属性值的获得,最后通过前台首页显示,实现文件的上传和下载