- 浏览: 520836 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (299)
- Oracle(pl/sql_Erp_Pro*C) (69)
- 设计模式 (4)
- spring (23)
- ext (17)
- apache开源项目应用 (4)
- jquery (16)
- 生活琐事 (8)
- 下载资源 (23)
- mysql (2)
- Eclipse使用积累 (5)
- 报表类(报表/图表) (13)
- php (4)
- Web多彩文本框 (3)
- json (4)
- jqgrid (2)
- ant (2)
- java算法积累 (8)
- EL表达式/JSTL (4)
- poi (3)
- gwt (2)
- 爬网第一步 (2)
- javascript (17)
- Javaweb (8)
- tomcat (1)
- flex (1)
- Java&DB (3)
- J2SE (7)
- linux (3)
- 数据结构 (1)
- dot net (5)
- struts (1)
- ibatis (1)
- log4j (1)
- 项目管理 (1)
- Java native interface(jni,jacob......) (5)
- applet (1)
- VB.net/C#.net/JNI (20)
- css (1)
- Sqlite (1)
- servlet (1)
- REST (1)
最新评论
-
wenhurena:
能不能给一下解压密码roki.work.2017@gmail. ...
Ebs解体新書と学習資料1 -
liutao1600:
楼主写的太好了,每天学习~~
Spring_MVC(6)测试 -
liutao1600:
太好了,每天学习你的文章~~~
Spring_MVC(3)表单页面处理 -
liutao1600:
学习了,太好了
Spring_MVC(2)控制层处理 -
liutao1600:
学习了~~~
Spring_MVC(1)构建简单web应用
Spring由内置的multipart支持web应用中的文件上传。multipart支持的设计是通过定义org.springframework.web.multipart包中的插件对象MultipartResovler来完成的。Spring提供MultipartResolver可以支持Commons FileUpload (http://jakarta.apache.org/commons/fileupload)和COS FileUpload (http://www.servlets.com/cos)。本章后面的部分描述了文件上传是如何支持的。
缺省,Spring是没有multipart处理,因为一些开发者想要自己处理它们。如果你想使用Spring的multipart,需要在web应用的上下文中添加multipart解析器。这样,每个请求就会被检查是否包含multipart。然而,如果请求中包含multipart,你的上下文中定义的MultipartResolver就会解析它。这样,你请求中的multipart属性就会象其它属性一样被处理。
使用MultipartResolver
下面的例子说明了如何使用CommonsMultipartResolver:
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- one of the properties available; the maximum file size in bytes -->
<property name="maximumFileSize">
<value>100000</value>
</property>
</bean>---------------------------------------------------------------------------------------------------下面这部分是我的配置文件部分------------------------------ <!-- 配置上传文件--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize"> <value>1000000</value> </property> </bean> <bean id="uploadControl" class="com.f9inux.controller.uploadController"> <property name="commandClass"> <value>com.f9inux.bean.uploadfilebean</value> </property> <property name="successView"> <value>index</value> </property> <property name="path"> <value>g:\web</value> </property> </bean> <!-- 配置上传文件-->-----------------上面由于我使用了springMVC如果有不明白的可以给我留言-----------------------------uploadController部分(类似于struts的action)-----------------package com.f9inux.controller;import java.io.BufferedOutputStream;import java.io.FileOutputStream;import javax.servlet.ServletRequest;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.validation.BindException;import org.springframework.web.bind.ServletRequestDataBinder;import org.springframework.web.multipart.support.ByteArrayMultipartFileEditor;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.SimpleFormController;import com.f9inux.bean.uploadfilebean;public class uploadController extends SimpleFormController { protected String path; public void setPath(String path) { this.path = path; } public ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object command,BindException errors)throws Exception{ uploadfilebean ub=(uploadfilebean)command; //System.out.println(ub.getName()); //String sp=path+System.getProperty("file.separator")+ub.getName(); String sp=path+"\\"+ub.getName(); //System.out.println(sp);//输出存放目录 BufferedOutputStream bf=new BufferedOutputStream(new FileOutputStream(sp)); bf.write(ub.getContents()); bf.close(); return new ModelAndView(this.getSuccessView()); } public void initBinder(HttpServletRequest request, ServletRequestDataBinder binder)throws Exception{ super.initBinder(request,binder); binder.registerCustomEditor( byte[].class,new ByteArrayMultipartFileEditor()); }}-----------------------上面主要实现的保存文件的逻辑---------------------------------------------uploadfilebean部分(这部分主要负责表单内容的承载,类似实体bean)--------package com.f9inux.bean;public class uploadfilebean { private String name; private byte[] contents; public byte[] getContents() { return contents; } public String getName() { return name; } public void setContents(byte[] contents) { this.contents = contents; } public void setName(String name) { this.name = name; }}------------------上面的属性和表单的控件相对应---------------------------------表单部分------------------- <form method="post" action="upload.do" enctype="multipart/form-data"> <input type="file" name="contents" onchange="getvalue()"/> <input type="hidden" name="name"/> <input type="submit"/> </form>关于enctype部分的解释:使用multipart,你需要创建一个带文件上传域的表单,让Spring将文件绑定到你的表单上------------------------------------------最后请在你的tomcat的command/lib目录中添加commons-io.jar、commons-fileupload.jar包~~!
web.xml片段:
- <servlet>
- <servlet-name>springServlet</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <load-on-startup>2</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>springServlet</servlet-name>
- <url-pattern>*.do</url-pattern>
- </servlet-mapping>
servlet.xml片段:
- <bean id="multipartResolver"
- class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
- <!-- 设置上传文件的最大尺寸为10MB -->
- <property name="maxUploadSize">
- <value>100010485761</value>
- </property>
- </bean>
Controller:
- @RequestMapping(params = "method=upload")
- protected ModelAndView uploadFile(HttpServletRequest request)
- throws Exception {
- try{
- //cast to multipart file so we can get additional information
- MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
- CommonsMultipartFile file = (CommonsMultipartFile) multipartRequest.getFile("file");
- System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
- byte[] bytes = file.getBytes();
- String uploadDir = "c:\\uploadFile";
- System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + uploadDir);
- File dirPath = new File(uploadDir);
- if (!dirPath.exists()) {
- dirPath.mkdirs();
- }
- String sep = System.getProperty("file.separator");
- if (log.isDebugEnabled()) {
- log.debug("uploading to: " + uploadDir + sep +
- file.getOriginalFilename());
- }
- File uploadedFile = new File(uploadDir + sep
- + file.getOriginalFilename());
- FileCopyUtils.copy(bytes, uploadedFile);
- System.out.println("********************************");
- System.out.println(uploadedFile.getAbsolutePath());
- System.out.println(bytes.length);
- System.out.println("********************************");
- }catch(Exception e){
- e.printStackTrace();
- }
- return new ModelAndView("");
- }
页面:
- <form method="post" action="collParam.do?method=upload" enctype="multipart/form-data">
- <input type="file" name="file" id="file"/>
- <input type="submit" value="save"/>
- </form>
发表评论
-
cronExpression
2010-08-30 17:57 1195一个Cron-表达式是一个由六至七个字段组成由空格分隔的 ... -
spring任务调度(task)
2010-08-23 13:24 2857spring 任务调度总结参考资料http://www.ibm ... -
spring 任务配置
2010-08-23 10:45 1209xml 代码 <bean id="i ... -
spring3.0注解式声明
2010-08-19 17:39 4380从spring2.5开始,annotation结合BeanPo ... -
Spring Roo 自动化集成开发工具
2010-08-04 14:54 2257Roo是一种 Spring 开发的辅助工具,使用命令行操作来生 ... -
spring3.0学习
2010-08-03 16:24 862https://src.springframework.org ... -
Spring mvc 转发、重定向
2010-07-28 16:53 2413spring控制器最后返回一个ModelAndView( ... -
spring api download
2010-07-28 08:43 1190在网上找了好多,都下不下来,要不就是需要注册登录什么的,才能下 ... -
Spring uploadFile
2010-05-02 20:45 2240先让我们来看一段摘自《Spring 2.5 Referen ... -
Spring_MVC(6)测试
2010-04-24 18:48 3736这里将用到以下几个包: 引用 aopalliance-1 ... -
Spring_MVC(5)业务层处理
2010-04-24 18:47 1987这里将用到以下几个包: 引用 aopalliance-1 ... -
Spring_MVC(4)持久层处理
2010-04-24 18:45 1208这里将用到以下几个包: 引用 aopalliance-1 ... -
Spring_MVC(3)表单页面处理
2010-04-24 18:43 3046// 跳转到用户信息页面 ... -
Spring_MVC(2)控制层处理
2010-04-24 18:42 1700言归正传,研究一下注解下的控制层。 我习惯于使用JSTL展示页 ... -
Spring_MVC(1)构建简单web应用
2010-04-24 18:40 1445Java代码 /** * 2010 ... -
Spring MVC:使用InternalResourceViewResolver视图解析器
2010-02-24 09:14 2055参考:Sping 2.0.8\docs\MVC-step-by ... -
ibatis+spring控制事务配置
2009-04-05 10:25 1929<bean id="dataSource&qu ... -
转:spring事务控制配置实例
2009-04-03 10:47 3365Spring声明式事务配置的几种方法 在Spring中进 ... -
spring+ibatis+struts事务控制配置
2009-04-03 10:38 1565<?xml version="1.0" ... -
spring+ibatis+struts配置问题
2009-04-01 14:48 1137以下web.xml配置 <?xml version=&q ...
相关推荐
基于Spring实现文件上传功能 一、文件上传概述 文件上传是web应用程序中的一种常见功能,允许用户上传文件到服务器端以供后续处理。 Spring框架提供了多种方式来实现文件上传,包括使用MultipartFile接口、使用...
只需改动一点点就可以实现所有格式的文件的上传
Spring MVC提供了强大的支持来处理这些操作,使得开发者可以轻松地实现文件的上传和下载功能。下面将详细阐述如何利用Spring MVC来实现这两个功能。 一、文件上传 1. 配置MultipartResolver:Spring MVC默认使用...
在"struts1 + hibernate + spring 实现文件上传"的场景中,我们将讨论如何利用这些技术来实现用户端文件的上传功能。 **Struts1** 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它简化了开发...
Ajax与Spring框架结合实现文件上传功能涉及到前端页面设计、JavaScript的Ajax调用、以及后端Spring处理上传文件等多个知识点。下面详细解读如何使用这两种技术实现图片文件的上传。 首先,前端页面的设计是文件上传...
在本文中,我们将深入探讨如何使用Spring框架实现文件上传功能。Spring提供了强大的MVC模块,使得处理HTTP请求,包括文件上传变得非常简单。文件上传在Web应用中是常见的需求,例如用户可能需要上传图片、文档等。让...
【标题】:“jersey+spring+...通过这个示例,开发者可以了解到如何利用Java生态系统中的这些流行框架来实现文件上传功能,并为自己的项目提供参考。同时,理解并实践这些知识点,也有助于提升对Web开发的整体理解。
在Spring MVC框架中,文件上传是一项常见的功能,而实现文件上传进度条则能提供更好的用户体验。这个场景通常涉及到前端的JavaScript或jQuery库(如jQuery File Upload)与后端的Spring MVC控制器之间的交互,以及...
总结,Spring实现文件上传功能主要包括创建Maven Web项目、设置表单、编写Controller处理文件上传请求。在实际开发中,还需要考虑文件的存储策略、安全性以及用户体验等多个方面,确保文件上传功能既稳定又安全。
本话题主要探讨如何在Spring Cloud环境中处理文件上传,特别是在结合Feign和Zuul这两个组件时的实现方法。Feign是Spring Cloud的一个声明式HTTP客户端,用于简化服务间的调用;而Zuul则是作为API网关,提供路由、...
以上就是基于Spring实现文件上传和下载的基本流程和技术点。在实际开发中,还需要考虑错误处理、文件大小限制、安全验证等细节问题。在"onegis"这个压缩包中,可能包含了一个实际的Spring Web项目示例,你可以通过...
本文将深入探讨如何使用Java和Spring实现文件上传,以及相关的类和接口。 首先,我们需要了解`MultipartFile`接口。它是Spring MVC中用于处理多部分HTTP请求(即文件上传)的核心接口。通过这个接口,我们可以读取...
在"ssm框架--spring mvc实现文件上传"这个项目中,我们将重点探讨如何在Spring MVC中实现实现文件上传的功能。 文件上传是Web应用中的常见需求,Spring MVC提供了便捷的API来处理这一任务。首先,你需要在表单中...
总的来说,Spring Boot提供了一种简洁的方式来实现文件上传和下载功能,结合Thymeleaf和其他Spring组件,可以快速构建出功能完善的Web应用。通过合理的接口设计和实现,我们可以实现可扩展且易于维护的文件存储服务...
### Java Spring Boot应用程序中实现文件上传和下载功能 在现代Web开发中,文件上传与下载是常见的需求之一。Spring Boot框架提供了简洁的方式帮助开发者轻松实现这些功能。本文将详细介绍如何在Spring Boot项目中...
通过以上步骤,你可以利用Spring MVC轻松实现文件的上传和下载功能。实际开发中,还需要结合具体需求,例如添加权限控制、进度条显示等。对于更复杂的场景,可能需要引入额外的库,如Apache Commons FileUpload,以...
本篇文章将深入探讨Spring MVC如何实现文件上传和下载。 ### 文件上传 1. **依赖配置**:在Spring MVC项目中,为了支持文件上传,需要引入Apache Commons FileUpload库,它提供了处理多部分HTTP请求的能力。在`pom...
以下是使用Spring实现文件上传的基本流程: 1. **配置Spring MVC**:在Spring的配置文件中,配置`CommonsMultipartResolver`为MultipartResolver,以便支持文件上传。 2. **创建表单**:在HTML页面中,创建一个`...
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和...Spring boot整合MinIO客户端实现文件管理
采用前后端分离的方式进行开发,实现了几种常用的文件上传功能。 前端采用 vue.js + plupload + element-ui 实现了文件在浏览器端的发送, 后端采用 spring boot + spring + spring mvc + mybatis 实现了文件在服务器...