- 浏览: 284744 次
- 性别:
- 来自: 湖南
文章分类
- 全部博客 (120)
- Struts 1.框架 (12)
- Spring框架 (9)
- hibernate框架 (6)
- web 综合 (15)
- Dwr (1)
- struts 2 (19)
- 设计模式 (0)
- lucene (6)
- oracle (3)
- linux (10)
- mysql (4)
- jquery (0)
- AJAX (1)
- javaScript (1)
- J2SE (4)
- IBATIS (3)
- JPA (1)
- Compass (3)
- 报表 (1)
- 任务调度 (1)
- tomcat (3)
- RMI (0)
- JMS (2)
- WebService (2)
- SOAP (0)
- XML (1)
- 多线程 (8)
- 缓存 (2)
- nginx (3)
- mongodb (1)
- ant打包 (0)
最新评论
-
iceman1952:
Hi 你觉得很好的那两三篇 百度文库的链接,能贴一下吗?
内网穿透&UDP打洞 -
ice86rain:
里面貌似没有用到Lucene
Struts2+Hibernate3.2+Spring2.5+Compass整合 -
sgq0085:
写得非常详细 好文章
JMS之ActiveMQ Linux下安装与应用实例 -
強顔歓笶:
JMS之ActiveMQ Linux下安装与应用实例 -
yixiandave:
forcer521 写道不指定所有子目录都在一起的话,这样用源 ...
linux下nginx稳定版1.6.2安装
1. struts2中的文件上传
第一步:在WEB=INF/lib下加入commons-fileupload-1.2.1.jar , commons-io-1.3.2.jar。
第二步:把form表单的enctype属性设置为"multipart/form-data",如
第三步:在action中添加一下属性,
此外,可以在struts.xml中配置上传文件的大小
<constant name="struts.multipart.maxSize" value="10701096"/> //最大上传配置成10M
默认的上传大小为2M
思维拓展:如果要上传的文件非常大,如上传的是电影,好几百M ,用web上传一般是不可能难上传成功的,这时候要安装一个插件,类似于应用程序
socket ,通过网络通讯上传。
2 . 多文件上传
在上面的基础上略加改动
1.jsp表单
第一步:在WEB=INF/lib下加入commons-fileupload-1.2.1.jar , commons-io-1.3.2.jar。
第二步:把form表单的enctype属性设置为"multipart/form-data",如
<form action="${pageContext.request.contextPath}/control/employee/list_execute.action" enctype="multipart/form-data" method="post"> 文件:<input type="file" name="image"> <input type="submit" value="上传"/> </form> //${pageContext.request.contextPath}:获取服务器根路径
第三步:在action中添加一下属性,
public class HelloWorldAction { private File image; //与jsp表单中的名称对应 private String imageFileName; //FileName为固定格式 private String imageContentType ;//ContentType为固定格式 public String getImageContentType() { return imageContentType; } public void setImageContentType(String imageContentType) { this.imageContentType = imageContentType; } public String getImageFileName() { return imageFileName; } public void setImageFileName(String imageFileName) { this.imageFileName = imageFileName; } public File getImage() { return image; } public void setImage(File image) { this.image = image; } public String execute() throws Exception{ System.out.println("imageFileName = "+imageFileName); System.out.println("imageContentType = "+imageContentType); //获取服务器的根路径realpath String realpath = ServletActionContext.getServletContext().getRealPath("/images"); System.out.println(realpath); if(image!=null){ File savefile = new File(new File(realpath), imageFileName); if(!savefile.getParentFile().exists()) savefile.getParentFile().mkdirs(); FileUtils.copyFile(image, savefile); ActionContext.getContext().put("message", "上传成功"); }else{ ActionContext.getContext().put("message", "上传失败"); } return "success"; } }
此外,可以在struts.xml中配置上传文件的大小
<constant name="struts.multipart.maxSize" value="10701096"/> //最大上传配置成10M
默认的上传大小为2M
思维拓展:如果要上传的文件非常大,如上传的是电影,好几百M ,用web上传一般是不可能难上传成功的,这时候要安装一个插件,类似于应用程序
socket ,通过网络通讯上传。
2 . 多文件上传
在上面的基础上略加改动
1.jsp表单
<form action="${pageContext.request.contextPath}/control/employee/list_execute.action" enctype="multipart/form-data" method="post"> 文件1:<input type="file" name="image"><br/> 文件2:<input type="file" name="image"><br/> 文件3:<input type="file" name="image"><br/> <input type="submit" value="上传"/> </form>2. action中用数组接收
public class HelloWorldAction { private File[] image; private String[] imageFileName; private String[] imageContentType ; //省略了set和get方法 public String execute() throws Exception{ String realpath = ServletActionContext.getServletContext().getRealPath("/images"); System.out.println(realpath); if(image!=null){ File savedir = new File(realpath); if(!savedir.exists()) { savedir.mkdirs(); } System.out.println("image.length = "+image.length); for(int i = 0 ; i<image.length ; i++){ System.out.println("imageContentType["+i+"] = "+imageContentType[i]); File savefile = new File(savedir, imageFileName[i]); FileUtils.copyFile(image[i], savefile); } ActionContext.getContext().put("message", "上传成功"); } return "success"; } }
评论
2 楼
笑我痴狂
2010-07-22
可以啊 有什么问题吗?
一样的可以上传其他表单参数啊
我已经调试过了 ,不知道你为什么会有那样的问题
】
一样的可以上传其他表单参数啊
我已经调试过了 ,不知道你为什么会有那样的问题
】
1 楼
kissjsp
2010-07-20
我现在一直被这样的一个问题困惑 就是 单纯的文件上传 说实在的 还是蛮简单的 只要是把组件找全了 问题都不是很大的 但是 我现在想实现的功能是文件和表单信息同时上传的
这样的话 问题就来了 因为 上传文件是以二进制流的形式上传的 表单的参数 使用我们以前常用的request.getParameter是接收不到参数 我现在使用的fileupload的组件上传的 不知道 各位大虾有什么方法 能接收到参数
或者有其他的方法能同时实现这样的功能 一个表单 一次提交 同时上传文件和表单信息。
这样的话 问题就来了 因为 上传文件是以二进制流的形式上传的 表单的参数 使用我们以前常用的request.getParameter是接收不到参数 我现在使用的fileupload的组件上传的 不知道 各位大虾有什么方法 能接收到参数
或者有其他的方法能同时实现这样的功能 一个表单 一次提交 同时上传文件和表单信息。
发表评论
-
struts2中的异常处理
2010-07-22 17:23 1425Struts2 中的异常处理? 异常有几种类型: 1.意外的错 ... -
struts2 支持的下载以及如何动态生成excel表格文件
2010-07-15 23:35 4345struts2支持的下载 , 以及下载方法的实现方式 先说s ... -
struts2的token机制
2010-07-11 18:15 1832token机制:解决页面重复提交 struts2中的步骤: 1 ... -
struts2的ognl表达式
2010-07-11 16:59 927下面是本人写的关于og ... -
struts2的学习笔记+测试源代码
2010-07-11 15:05 2384学习struts2的测试代码 之前用的都是struts1 , ... -
struts2中的国际化问题
2010-07-11 14:54 1081国际化 1.全局范围的资源文件 在src目录下简历资源文 ... -
struts2的输入校验+常用的校验器+基于XML实现的一些特性
2010-07-11 14:25 3001输入验证的流程: 1. 类型转换器对请求参数执行类型转换,并 ... -
srtuts2的拦截器(interceptor)
2010-07-11 14:09 12041. 自定义的拦截器 ... -
struts2如何获取Request-Session-ServletContext-Response
2010-07-10 18:13 63661. 访问和添加request/session/applica ... -
stuts2的类型转换
2010-07-10 18:11 12081.自定义类型转换器 第一步:编写自定义的转换器类 imp ... -
struts2接收请求参数的原理解析
2010-07-10 18:09 1872接受请求参数的原理 在struts2中没有actionForm ... -
struts2动态方法(dynamic)调用的两种方式
2010-07-10 18:07 1654动态方法调用的两种方式 1 . 使用!+方法名调用指定方法 ... -
struts2常用的常量constant
2010-07-10 18:05 1544常用的常量配置 strut ... -
struts2属性注入+修改请求后缀
2010-07-10 18:00 14131. 属性注入 <action name=&quo ... -
struts2的视图类型+中文编码+在struts.xml配置中如何传递action中的属性值
2010-07-10 17:56 2428struts2是通过filter来初始化配置的,struts1 ... -
struts2的action是线程安全的,struts1的action不是线程安全的
2010-07-08 13:33 3933为什么struts2的action是线程安全的,struts1 ... -
struts2的工作流程
2010-07-08 13:22 1639struts2的工作流程 StrutsPrepareAnd ... -
struts2的优点
2010-07-04 20:14 32821.在软件设计上struts2没有像struts1那样跟ser ...
相关推荐
首先,我们需要了解Struts2中的文件上传机制。Struts2提供了`FileUploadInterceptor`拦截器来处理文件上传请求。在处理文件上传时,开发者需要在Action类中声明一个`List<FileInfo>`类型的字段,用于接收上传的文件...
在Struts2中,文件上传功能是一个常用特性,尤其在处理用户提交的多个文件时。本文将详细讲解如何使用Struts2进行多个文件的上传,重点是使用List集合进行上传。 首先,要实现Struts2的文件上传,必须引入必要的...
在Struts2中,文件上传和下载是常见的功能需求,特别是在处理用户交互和数据交换时。这篇博客文章提供的"struts2文件上传下载源代码"旨在帮助开发者理解和实现这些功能。 文件上传功能允许用户从他们的设备上传文件...
在这个“struts2上传文件源代码”中,我们将深入探讨Struts2如何实现文件上传功能,以及涉及到的相关知识点。 首先,文件上传是Web应用中常见的功能,它允许用户从本地计算机选择文件并将其发送到服务器。在Struts2...
Struts2上传文件(直接用request)
Struts2作为一款流行的Java Web框架,提供了丰富的功能来处理用户请求,包括文件上传。在Struts2中实现文件上传并展示进度条是一项常见的需求,它能提升用户体验,尤其是在处理大文件时。以下将详细解释如何在Struts...
2. **添加Struts2插件**:Struts2的文件上传功能依赖于`struts2-convention-plugin`和`struts2-core`等库。在`struts.xml`配置文件中,需要启用Multipart解析器,例如添加`<constant name="struts.multipart.parser...
下面将详细介绍如何利用SWFUpload与Struts2来实现多文件上传。 **一、SWFUpload组件介绍** SWFUpload 是一个JavaScript库,它利用Flash技术提供了一个高级的文件上传体验。它的主要特性包括: 1. **多文件选择**...
struts2上传单个文件及多个文件,strus2拦截器的使用,里面有个user用户,先执行user.jsp即登陆,可以执行上传文件的操作,反之,不能,有个exit.jsp,退出之后不能执行。里面含有jar文件,导入myeclipse可以执行...
在这个"struts2 上传文件及打包下载zip"的示例中,我们将探讨如何利用Struts2实现文件上传和下载功能。 首先,文件上传是Web应用程序中的常见需求。在Struts2中,我们可以使用`Struts2`提供的`CommonsFileUpload`...
Struts2 文件上传是Web开发中的一个重要功能,它允许用户从他们的本地计算机向服务器传输文件。在Struts2框架中,文件上传是通过特定的拦截器实现的,这些拦截器处理了文件上传请求并提供了安全性和大小限制。下面将...
在处理文件上传时,Struts2会使用`Commons FileUpload`库,这个库提供了解析多部分HTTP请求的能力。每个上传的文件会被封装成`FileItem`对象,我们可以遍历这些对象,对每个文件进行处理。例如,将文件保存到服务器...
1. **文件上传组件**:在Struts2中,我们通常使用`Commons FileUpload`库来处理文件上传。这个库提供了处理多部分HTTP请求的能力,是Java中处理文件上传的标准库。我们需要在Struts2配置文件中引入对应的拦截器`...
1.能够对多个文件进行上传(可以选择上传文件个数,也即上传文件个数不定) 2.能够对上传路径进行配置文件指定(upload.properties),使用了一些类似单例模式的静态代码块 3.Struts2进行下载处理,能对上传的所有...
Struts2提供了完善的文件上传支持,让我们来详细探讨如何在Struts2中实现多文件上传。 首先,我们需要在Struts2的配置文件(struts.xml)中启用文件上传的支持。这通常涉及到添加`<constant>`标签来设置`struts....
struts2 文件上传 struts2上传标签file fileuploadstruts2 文件上传 struts2上传标签file fileuploadstruts2 文件上传 struts2上传标签file fileupload
这可以通过添加`<constant>`标签来设置`struts.multipart.parser`为jakarta,这是Struts2推荐的多部分解析器,以支持大文件上传。同时,设置`struts.multipart.maxSize`属性,限制上传文件的大小。 ```xml ...
在文件上传场景中,Struts2主要负责接收前端发送的文件数据,并将这些数据存储到服务器的指定位置。配置Struts2的Action类和相应的XML配置文件,可以定义文件上传的处理逻辑。 接着,jQuery是一个高效、简洁的...
6. **源码分析**: 要深入理解Struts2的文件上传机制,你需要查看Struts2的源码,特别是`org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest`和`org.apache.struts2.components.Form`这两个类。...
在处理文件上传时,Struts2提供了便捷的API和配置方式,使得开发人员能够轻松实现多文件上传的功能。下面将详细阐述如何使用Struts2来实现多个文件的上传。 首先,理解文件上传的基本原理。在HTTP协议中,文件上传...