Struts2 多文件上传

upload.jsp

<form action="${pageContext.request.contextPath}/up" method="post" enctype="multipart/form-data">
<input type="file" name="upload"><br>
<input type="file" name="upload"><br>
<input type="submit" value="上传"><br>
</form>

struts,xml

<!-- 可以帮助我们解决post请求乱码问题 -->
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<!-- 使报错信息更加详细,以及struts.xml配置后不需要重启服务器 -->
<constant name="struts.devMode" value="true"></constant>
<!-- 上传文件大小设置 -->
<constant name="struts.multipart.maxSize" value="20971520"></constant>
<package name="default" namespace="/" extends="struts-default" >

<action name="up" class="cn.upload.UploadAction" method="uploadFile">
<!-- <result name="input">/upload/error.jsp</result> -->
</action>
</package>

uploadAction

public class UploadAction extends ActionSupport{
private File[] upload;//上传的文件
private String[] uploadContentType;//上传的类型
private String[] uploadFileName;//上传文件的名称
public File[] getUpload() {
return upload;
}
public void setUpload(File[] upload) {
this.upload = upload;
}
public String[] getUploadContentType() {
return uploadContentType;
}
public void setUploadContentType(String[] uploadContentType) {
this.uploadContentType = uploadContentType;
}
public String[] getUploadFileName() {
return uploadFileName;
}
public void setUploadFileName(String[] uploadFileName) {
this.uploadFileName = uploadFileName;
}
public void uploadFile(){
//得到upload目录在Tomcat的绝对磁盘路径
String path = ServletActionContext.getServletContext().getRealPath("/upload");
for (int i = 0; i < upload.length; i++) {
//创建服务器端文件
File dest = new File(path,uploadFileName[i]);----------------------------------------
//上传的文件以及要存放的位置
try {
FileUtils.copyFile(upload[i], dest);---------------------------------

} catch (IOException e) {

e.printStackTrace();
}
}

posted @ 2017-11-15 09:37  无~所~谓  阅读(143)  评论(0编辑  收藏  举报