action类:
如果 File 的变量名为file 则后面两个变量开头都为file
如果是 File img, 则 String imgFileName ,String imgContentType
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
public class FileUpAction {
private File file;
private String fileFileName;
private String fileContentType;
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 up(){
//设置存储路径
String filePath = "d:\\a\\";
filePath = filePath + fileFileName;
File f = new File(filePath);
try {
FileUtils.copyFile(file, f);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "success";
}
}
struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="/" extends="struts-default" namespace="/">
<action name="up" class="com.ly.action.FileUpAction" method="up">
<result name="success">index.jsp</result>
</action>
</package>
</struts>
fileUp.jsp
注意 form 表单的提交方式 为post enctype=”multipart/form-data” file的name 与 action类中的 File 变量名一样
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>文件上传</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form action="up" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" value="提交"/>
</form>
</body>
</html>