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是一个流行的Java web开发框架,用于构建企业级应用...无论是使用List集合还是数组,核心原理都是相同的,只是接收上传文件的对象类型不同。了解并掌握这一特性,对于开发支持文件上传功能的web应用至关重要。
本实例主要探讨如何在Struts1中实现多文件上传功能,并结合Form中传递List类型的数据,这对于理解MVC模式下的文件处理和数据传递有重要作用。我们将深入讨论以下几个关键知识点: 1. **Struts1框架基础**: Struts...
`FileInfo`是自定义的类,包含`File`对象和`String`对象,分别表示上传文件的实际内容和文件名。 1. **配置Struts2的文件上传** 在`struts.xml`配置文件中,为需要支持文件上传的Action添加`params`和`fileUpload`...
在Struts1.2版本中,实现多文件上传是一项常见的需求,它允许用户在一次提交中上传多个文件,这对于数据交互、资源分享等场景非常实用。在本教程中,我们将深入探讨如何在Struts1.2中实现这一功能。 首先,理解多...
Struts框架通过解析这个格式化的请求,可以获取到上传文件的信息。 1. **配置Struts2 Action**:在Struts2中,我们需要创建一个Action类来处理文件上传请求。这个类通常需要实现`ServletRequestAware`接口,以便...
避免路径遍历攻击,确保文件存储在安全目录下,防止恶意文件的执行,以及检查上传文件的大小和类型,防止过大文件导致服务崩溃或恶意文件注入。 在本例中,提供的"updown"可能是一个包含示例代码、配置文件或测试...
在Struts中,可以实现单文件和多文件的上传,并且为了提升用户体验,我们还可以添加进度条来显示文件上传的状态。本文将详细介绍如何在Struts中实现这两个功能,并带上传进度条。 首先,我们需要了解Struts中处理...
同时,设置`struts.multipart.maxSize`属性,限制上传文件的大小。 ```xml <constant name="struts.multipart.parser" value="jakarta"/> <constant name="struts.multipart.maxSize" value="10485760">...
文件上传功能允许用户从他们的设备上传文件到服务器。在Struts2中,这通常通过表单实现,表单包含一个`<input type="file">`元素,用户可以选择本地文件。Struts2的Action类会接收这个文件,并使用`Commons ...
3. 文件存储位置:确保上传文件存储在安全目录下,避免用户访问到其他敏感文件。 4. 下载安全:对于下载,应避免直接暴露文件路径,使用动态生成的文件名,防止恶意用户猜测其他文件地址。 四、优化策略 1. 断点...
1.能够对多个文件进行上传(可以选择上传文件个数,也即上传文件个数不定) 2.能够对上传路径进行配置文件指定(upload.properties),使用了一些类似单例模式的静态代码块 3.Struts2进行下载处理,能对上传的所有...
可以使用`<interceptors>`标签在struts.xml中定义一个拦截器栈,设置最大上传文件大小: ```xml <param name="maximumSize">10485760</param> <!-- 10MB --> <!-- 其他拦截器 --> <result>success...
### Struts实现多文件上传详解 #### 一、概述 在Web应用开发中,文件上传是常见的需求之一。尤其在需要用户批量提交多个文件时,就需要实现多文件上传功能。Struts框架作为Java Web开发中非常成熟的一个MVC框架,...
5. **文件大小转换**:根据文件的大小单位(Byte, KB, MB),进行相应的格式化输出,以便于用户理解上传文件的实际大小。 #### 示例代码解析 - **文件名的生成**:利用当前时间戳生成唯一的文件名,确保每个上传的...
3. **文件大小限制**:设定上传文件的大小上限,防止DoS攻击。 4. **权限控制**:确保只有授权用户可以访问上传的文件。 **五、优化与扩展** 为了进一步优化用户体验,可以考虑以下方面: 1. **错误处理**:提供...
在这个“struts2上传文件源代码”中,我们将深入探讨Struts2如何实现文件上传功能,以及涉及到的相关知识点。 首先,文件上传是Web应用中常见的功能,它允许用户从本地计算机选择文件并将其发送到服务器。在Struts2...
在"struts2.1.3上传文件"这个主题中,我们将深入探讨Struts2如何实现文件上传功能,以及与之相关的jsp(JavaServer Pages)技术。 文件上传是Web应用程序中常见的需求,例如用户可能需要上传照片、文档或其他类型的...
在Struts1中实现文件上传功能,常常是Web开发中的一个常见需求。而“带进度条”的文件上传则更进一步,它能为用户提供更好的用户体验,让用户在上传大文件时能够看到实时的上传进度。 首先,我们来理解一下Struts1...
### 使用Struts框架进行多文件上传的技术解析 在Web应用开发中,文件上传是一个非常常见的需求。Apache Struts作为一款成熟的MVC框架,在处理文件上传方面有着独特的优势。本文将详细解析如何使用Struts框架实现多...