`

struts上传多文件

阅读更多
html网页
<form action="upload.shtml" method="post" enctype="multipart/form-data">
    	title:<input name="title" type="text"/><br/>
    	file:<input name="value(0)" type="file"/><br/>
    	file:<input name="value(1)" type="file"/><br/>
    	file:<input name="value(2)" type="file"/><br/>
    	file:<input name="value(3)" type="file"/><br/>
    	
    	<input type="submit" value="submit"/>
    </form>


ActionForm
//用ArrayList装FormFile,这样写的问题就是顺序要乱。
public class UploadActionForm extends ActionForm {
	private String title;
	private ArrayList formFiles;
	public UploadActionForm(){
		formFiles = new ArrayList();
	}
    public void setValue(String iIndex, FormFile value){
    	getFormFiles().add(value);
    }

    public FormFile getValue(String iIndex){
    	return (FormFile) formFiles.get(Integer.parseInt(iIndex));
    }	

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}
	
	public ArrayList getFormFiles() {
		return formFiles;
	}
	public void setFormFiles(ArrayList formFiles) {
		this.formFiles = formFiles;
	}	
}


Action里面的处理
UploadActionForm daf = (UploadActionForm) form;		
ArrayList arrayList = daf.getFormFiles();


下面是HashMap装FileForm的方法
HTML页面和上面的一样
只不过FileForm里面用的是HashMap
public class UploadActionForm extends ActionForm {
	private String title;
	private Map fileMap;
	public UploadActionForm(){
		fileMap = new HashMap();
	}
    public void setValue(String iIndex, FormFile value){
    	fileMap.put(iIndex,value);
    }

    public FormFile getValue(String iIndex){
    	return (FormFile) fileMap.get(iIndex);
    }	

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}
	public Map getFileMap() {
		return fileMap;
	}
}

Action里面这样处理就可以获得相应的值了
UploadActionForm daf = (UploadActionForm) form;
daf.getValue("0");
daf.getValue("1");
daf.getValue("2");
daf.getValue("3");


最后还可以在配置文件里面设置上传文件的大小
<struts-config>
        <controller maxFileSize="10M"/>
</struts-config>


//		if(file!=null){
//			FileOutputStream fos = new FileOutputStream("c://"+file.getFileName());
//			fos.write(file.getFileData());
//			fos.flush();
//			fos.close();
//		}
//        request.getSession().getServletContext().getRealPath("/");
	表示当前项目的地址C:\tomcat6.0\webapps\xxx_04\
分享到:
评论

相关推荐

    Struts2多个文件上传

    Struts2是一个流行的Java web开发框架,用于构建企业级应用...无论是使用List集合还是数组,核心原理都是相同的,只是接收上传文件的对象类型不同。了解并掌握这一特性,对于开发支持文件上传功能的web应用至关重要。

    一个Struts1多文件上传实例(附Form中传List示例)

    本实例主要探讨如何在Struts1中实现多文件上传功能,并结合Form中传递List类型的数据,这对于理解MVC模式下的文件处理和数据传递有重要作用。我们将深入讨论以下几个关键知识点: 1. **Struts1框架基础**: Struts...

    struts2实现文件上传下载

    `FileInfo`是自定义的类,包含`File`对象和`String`对象,分别表示上传文件的实际内容和文件名。 1. **配置Struts2的文件上传** 在`struts.xml`配置文件中,为需要支持文件上传的Action添加`params`和`fileUpload`...

    struts多文件上传

    在Struts1.2版本中,实现多文件上传是一项常见的需求,它允许用户在一次提交中上传多个文件,这对于数据交互、资源分享等场景非常实用。在本教程中,我们将深入探讨如何在Struts1.2中实现这一功能。 首先,理解多...

    JavaEE Struts文件上传

    Struts框架通过解析这个格式化的请求,可以获取到上传文件的信息。 1. **配置Struts2 Action**:在Struts2中,我们需要创建一个Action类来处理文件上传请求。这个类通常需要实现`ServletRequestAware`接口,以便...

    struts实现的文件上传下载功能

    避免路径遍历攻击,确保文件存储在安全目录下,防止恶意文件的执行,以及检查上传文件的大小和类型,防止过大文件导致服务崩溃或恶意文件注入。 在本例中,提供的"updown"可能是一个包含示例代码、配置文件或测试...

    struts 单文件上传和多文件上传带进度条

    在Struts中,可以实现单文件和多文件的上传,并且为了提升用户体验,我们还可以添加进度条来显示文件上传的状态。本文将详细介绍如何在Struts中实现这两个功能,并带上传进度条。 首先,我们需要了解Struts中处理...

    struts2多文件的上传

    同时,设置`struts.multipart.maxSize`属性,限制上传文件的大小。 ```xml &lt;constant name="struts.multipart.parser" value="jakarta"/&gt; &lt;constant name="struts.multipart.maxSize" value="10485760"&gt;...

    struts2文件上传下载源代码

    文件上传功能允许用户从他们的设备上传文件到服务器。在Struts2中,这通常通过表单实现,表单包含一个`&lt;input type="file"&gt;`元素,用户可以选择本地文件。Struts2的Action类会接收这个文件,并使用`Commons ...

    struts框架-文件上传下载

    3. 文件存储位置:确保上传文件存储在安全目录下,避免用户访问到其他敏感文件。 4. 下载安全:对于下载,应避免直接暴露文件路径,使用动态生成的文件名,防止恶意用户猜测其他文件地址。 四、优化策略 1. 断点...

    struts2实现多文件上传下载

    1.能够对多个文件进行上传(可以选择上传文件个数,也即上传文件个数不定) 2.能够对上传路径进行配置文件指定(upload.properties),使用了一些类似单例模式的静态代码块 3.Struts2进行下载处理,能对上传的所有...

    struts2实现多文件上传功能

    可以使用`&lt;interceptors&gt;`标签在struts.xml中定义一个拦截器栈,设置最大上传文件大小: ```xml &lt;param name="maximumSize"&gt;10485760&lt;/param&gt; &lt;!-- 10MB --&gt; &lt;!-- 其他拦截器 --&gt; &lt;result&gt;success...

    struts实现多文件上传1.txt

    ### Struts实现多文件上传详解 #### 一、概述 在Web应用开发中,文件上传是常见的需求之一。尤其在需要用户批量提交多个文件时,就需要实现多文件上传功能。Struts框架作为Java Web开发中非常成熟的一个MVC框架,...

    struts1实现文件上传

    5. **文件大小转换**:根据文件的大小单位(Byte, KB, MB),进行相应的格式化输出,以便于用户理解上传文件的实际大小。 #### 示例代码解析 - **文件名的生成**:利用当前时间戳生成唯一的文件名,确保每个上传的...

    swfuplaod+struts2实现多文件上传

    3. **文件大小限制**:设定上传文件的大小上限,防止DoS攻击。 4. **权限控制**:确保只有授权用户可以访问上传的文件。 **五、优化与扩展** 为了进一步优化用户体验,可以考虑以下方面: 1. **错误处理**:提供...

    struts2上传文件源代码

    在这个“struts2上传文件源代码”中,我们将深入探讨Struts2如何实现文件上传功能,以及涉及到的相关知识点。 首先,文件上传是Web应用中常见的功能,它允许用户从本地计算机选择文件并将其发送到服务器。在Struts2...

    struts2.1.3上传文件

    在"struts2.1.3上传文件"这个主题中,我们将深入探讨Struts2如何实现文件上传功能,以及与之相关的jsp(JavaServer Pages)技术。 文件上传是Web应用程序中常见的需求,例如用户可能需要上传照片、文档或其他类型的...

    struts1上传文件带进度条

    在Struts1中实现文件上传功能,常常是Web开发中的一个常见需求。而“带进度条”的文件上传则更进一步,它能为用户提供更好的用户体验,让用户在上传大文件时能够看到实时的上传进度。 首先,我们来理解一下Struts1...

    用struts上传多个文件的方法

    ### 使用Struts框架进行多文件上传的技术解析 在Web应用开发中,文件上传是一个非常常见的需求。Apache Struts作为一款成熟的MVC框架,在处理文件上传方面有着独特的优势。本文将详细解析如何使用Struts框架实现多...

Global site tag (gtag.js) - Google Analytics