struts2本身提供了对文件上传的支持,只需要在action中声明File类型的变量就可以了,另外文件名和文件类型的获取需要在action中声明两个额外的变量,并且变量名是固定的。
File file;
String fileContentType;//文件内容类型
String fileFileName;//文件名
对于多文件上传也很简单,只需要将上述的变量类型声明为数组即可
File[] file
String[] fileContentType;
String[] fileFileName;
最后别忘了增加get,set方法
另外还有一点,如果需要上传的文件超过1G,需要在web.xml文件中指定大文件处理的handler
<listener> <listener-class><!-- 临时文件收集器 , 支持超大附件必须项 --> org.apache.commons.fileupload.servlet.FileCleanerCleanup </listener-class> </listener>
在struts2的配置文件中设定文件上传的大小和临时路径的存放地址
struts.multipart.saveDir=/tmp struts.multipart.maxSize=10000000