【struts2】文件上传
Action类:
package test;
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
public class FileUpload {
private File file;//和表单中的file name属性值相同,该文件为临时文件,不是在最终存储的文件
private String fileFileName;//文件名,必须为上边定义的file名称(这里为file)+FileName的形式
private String fileContentType;//文件的类型,必须为上边定义的file名称(这里为file)+ContentType的形式
public File getFile() {
return file;
}
public void setFile(File file) {
this.file = file;
}
public String getFileFileName() {
return fileFileName;
}
public void setFileFileName(String fileFileName) {
this.fileFileName = fileFileName;
}
public String getFileContentType() {
return fileContentType;
}
public void setFileContentType(String fileContentType) {
this.fileContentType = fileContentType;
}
public String execute() throws IOException {
String savePath = "C:/Files/java/workspace/框架测试/upload";//指定上传文件存放位置
try{
File destFile = new File(savePath, fileFileName);//最终生成的文件
FileUtils.copyFile(file, destFile);//复制文件到目标文件
}catch(IOException e){
e.printStackTrace();
return "ERROR";
}
return "SUCCESS";
}
}
struts.xml:
<struts>
<package name="test" namespace="" extends="struts-default">
<!-- 包名自定 -->
<action name="FileUpload" class="test.FileUpload" method="execute">
<result name="SUCCESS">/test.jsp</result>
<result name="ERROR">/test2.jsp</result>
</action>
</package>
</struts>
测试主页Index.jsp:
<s:form action="/FileUpload.action" method="post" enctype="multipart/form-data">
<s:file name="file"></s:file>
<s:submit></s:submit>
</s:form>
上传成功页面test.jsp:
<h1>文件 <s:property value="fileFileName"/> 上传成功 </h1>
网络上志同道合,我们一起学习网络安全,一起进步,QQ群:694839022