html:
注意:<form action="*" mothed="post" enctype="multipart/form-data">的设置
action类:
package test;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Hashtable;
import java.util.Iterator;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
public class UploadFileSampAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// 获得上传的文件信息
Hashtable fileh = form.getMultipartRequestHandler().getFileElements();
String dirPath = getServlet().getServletContext().getRealPath("/")
+ "upload";
if (fileh != null) {
// 如果目录不存在,则创建
File fpath = new File(dirPath);
if (!fpath.exists()) {
fpath.mkdir();
}
// 解析上传文件
for (Iterator it = fileh.keySet().iterator(); it.hasNext();) {
String key = (String) it.next();
try {
FormFile formfile = (FormFile) fileh.get(key);
String filename = formfile.getFileName().trim(); // 文件名
if (!"".equals(filename)) {
InputStream ins = formfile.getInputStream();
OutputStream os = new FileOutputStream(dirPath
+ File.separatorChar + filename);
System.out.println("=======file dirPath========="
+ dirPath);
System.out.println("=======file separatorChar========="
+ File.separatorChar);
System.out.println("=======file filename========="
+ filename);
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
os.write(buffer, 0, bytesRead);
}
os.close();
ins.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
return mapping.findForward("success");
}
}
struts-config.xml配置:
<?xml version="1.0" encoding="gb2312" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<form-beans>
<form-bean type="test.UploadFileSample"/>
</form-beans>
<action-mappings>
<action path="/uploadfile"
type="test.UploadFileSampAction"
scope="request">
<forward path="/test.html"/>
</action>
</action-mappings>
</struts-config>
web.xml配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>
/WEB-INF/struts-config.xml
</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
以上是主要的代码以及配置,最后需要部署到应用服务器上运行试试!!祝大家好运。
相关推荐
struts1上传多个文件 jquery multi什么的组件
struts2实现的多个文件上传struts2实现的多个文件上传struts2实现的多个文件上传struts2实现的多个文件上传
Struts2多个文件上传 多个文件上传分为List集合和数组,下面我们着重介绍一下list集合的上传。都大同小异。
1.能够对多个文件进行上传(可以选择上传文件个数,也即上传文件个数不定) 2.能够对上传路径进行配置文件指定(upload.properties),使用了一些类似单例模式的静态代码块 3.Struts2进行下载处理,能对上传的所有...
Struts2实现单个文件 多个文件 上传与下载 多个拦截器 直接导入MyEclipse包中即可使用。
实现struts同时上传多个文件!
struts1.x多文件上传, 感觉不错.
用struts上传多个文件的方法,建立上传用的JSP文件配置struts-config.xml文件
struts1单个上传和多个上传,一个工程,两张上传方式
在项目中要上传多个文件,经过百度,Google,终于弄出来了。
struts2 实现多文件上传功能,是一个很好的学习参考资料
struts2实现文件上传(单个+多个文件上传
一个swfupload+struts2实现多文件上传的案例。
Struts2,实现单个文件,多个文件,上传与下载,多个拦截器
NULL 博文链接:https://wankunde.iteye.com/blog/904409
最近一个基于Struts的项目中要用到上传多张图片到系统中,我在网上找了一下,发现大多数都是转载的例子,对项目的作用不大,故写下了这个例子,希望对有用到的朋友有所帮助。要求JDK1.5以上,lib库要包含如下jar文件...
struts1.2开发,可实习自定义,任意多个文件上传
Struts1文件上传、单文件、多文件上传(上传文件大小问题,如何设置无限制)
真正实现struts多文件上传,是struts中不限数量的多文件上传,希望对各位有帮助
java struts2入门学习实例--使用struts2快速实现多个文件上传