前几天给朋友写一个小程序用到了上传,关于多文件上传的问题。于是乎查了查资料。贴下代码和大家分享下。
关于struts上传 我们首先来看下actionForm类中的代码
public class FileForm extends ActionForm {
private List<FormFile> myfile = new ArrayList<FormFile>();
public List<FormFile> getMyfile() {
return myfile;
}
public void setMyfile(List<FormFile> myfile) {
this.myfile = myfile;
}
接下来我们来看下action里的代码。关于struts的上传我采用的是 org.apache.struts.upload.MultipartRequestHandler 中的 MultipartRequestHandler
类。接下来看下action中的代码
FileForm forms=(FileForm)form;
//利用MultipartRequestHandler处理同时上传多个文件
MultipartRequestHandler mrh =forms.getMultipartRequestHandler();
Hashtable elements = mrh.getFileElements();
Collection values = elements.values();
int k = 0;
for (Iterator i = values.iterator(); i.hasNext();){
// 取得上传的文件
FormFile file = (FormFile) i.next();
//获取文件字节流
InputStream ins=file.getInputStream();
//以时间格式生成文件名
String path=request.getSession().getServletContext().getRealPath("/upload");
//用输出流保存文件
OutputStream fos = new FileOutputStream(path+"/"+file.getFileName());
int bytes=0;
byte[] buffer = new byte[8192];
while((bytes=ins.read(buffer, 0, 8192))!=-1){
fos.write(buffer, 0, bytes);
}
k++;
ins.close();
//关闭输出流
fos.close();
}
这里要注意的 在JSP 页面里 file 的name 要有所不同这样才能实现多文件上传,如果所写的JS 里面的FILE 名字都相同 这会只能得到最后一个文件,
分享到:
相关推荐
在Struts 2中,多文件上传是一项非常实用的功能,尤其是在需要用户同时上传多个文件的应用场景下。Struts 2提供了强大的文件上传支持,并且可以很容易地处理多个文件的上传。下面将详细介绍Struts 2多文件上传的关键...
本项目"struts多文件上传下载"显然专注于实现这一功能,允许用户一次性上传一个或多个文件,并且限制了上传文件的大小,以防止恶意的大文件上传。 首先,我们来看文件上传。在Struts中,文件上传通常借助于Apache的...
在Struts2中,文件上传和下载是常见的功能需求,特别是在处理用户交互和数据交换时。这篇博客文章提供的"struts2文件上传下载源代码"旨在帮助开发者理解和实现这些功能。 文件上传功能允许用户从他们的设备上传文件...
在Struts2中,文件上传功能是一个常用特性,尤其在处理用户提交的多个文件时。本文将详细讲解如何使用Struts2进行多个文件的上传,重点是使用List集合进行上传。 首先,要实现Struts2的文件上传,必须引入必要的...
这个压缩包包含了实现Struts2文件上传所需的全部jar包,这些库文件对于理解和实现文件上传功能至关重要。 首先,我们要了解Struts2文件上传的基本流程。当用户通过表单提交包含文件输入字段的请求时,Struts2框架会...
对于大量文件上传,可以考虑使用多线程处理,提高上传效率。还可以添加进度条显示、断点续传等功能,提升用户体验。 以上就是使用Struts2框架实现文件上传下载的基本步骤和关键知识点。在实际开发中,可以根据项目...
在Struts中,可以实现单文件和多文件的上传,并且为了提升用户体验,我们还可以添加进度条来显示文件上传的状态。本文将详细介绍如何在Struts中实现这两个功能,并带上传进度条。 首先,我们需要了解Struts中处理...
本实例主要探讨如何在Struts1中实现多文件上传功能,并结合Form中传递List类型的数据,这对于理解MVC模式下的文件处理和数据传递有重要作用。我们将深入讨论以下几个关键知识点: 1. **Struts1框架基础**: Struts...
JavaEE Struts 文件上传是Web开发中的一个常见需求,它允许用户从客户端向服务器传输文件。Struts作为JavaEE框架的一部分,提供了强大的功能来处理这种交互。以下是对这个主题的详细解析。 首先,理解文件上传的...
1. **.struts2配置**:在Struts2框架中,需要在`struts.xml`配置文件中添加相应的action配置,声明文件上传的处理方法。通常,你需要设置`<result>`类型为`stream`,以便处理上传的文件。 2. **Action类**:创建一...
Struts 是一个基于MVC(Model-View-Controller)...总结,Struts 实现文件上传涉及到配置、表单设计、Action处理和安全控制等多个环节。理解并熟练掌握这些知识点,能帮助开发者在实际项目中高效地处理文件上传需求。
Struts2.0文件上传原理主要涉及Web应用中处理用户上传文件的功能,这一过程涉及到多个步骤和技术,包括HTTP协议、Multipart/form-data编码、临时文件存储以及后台处理。以下是对Struts2.0文件上传原理的详细解释: ...
Struts2 文件上传是Web开发中的一个重要功能,它允许用户从他们的本地计算机向服务器传输文件。在Struts2框架中,文件上传是通过特定的拦截器实现的,这些拦截器处理了文件上传请求并提供了安全性和大小限制。下面将...
Struts2 文件上传是Web开发中的一个...然而,实际开发中可能需要根据项目需求进行更多的定制,例如增加多文件上传、文件预览、上传进度显示等功能。这需要对Struts2框架有更深入的理解,并灵活运用相关技术来满足需求。
同时,为了优化性能,可以考虑使用多线程处理大文件上传,或者采用分块上传策略。 以上就是关于“Struts jQuery AJAX 文件上传”的核心知识点。通过这种方式,开发者可以创建更加流畅、高效的Web应用,提供给用户更...
在Struts2中,文件上传功能是一个常见的需求,例如用户可能需要上传图片、文档或其他类型的文件。本教程将深入浅出地讲解如何在Struts2中实现文件上传,并提供一个简单的实例来帮助理解。 1. **Struts2文件上传概述...
1. **文件上传**: 在Struts2中,文件上传主要依赖于`Commons FileUpload`库,它是一个Apache提供的组件,专门处理HTTP请求中的多部分数据,包括文件。首先,需要在Struts2配置文件中添加相关的拦截器,如`params`和`...