<form action="test/upload.action" method="post" enctype="multipart/form-data"> <input type="file" name="upload"><br/> <input type="submit" value="上传"> </form> 注意:此处设置form表单enctype="multipart/form-data"属性
public class UploadFile extends ActionSupport { private File upload; private String uploadFileName; public File getUpload() { return upload; } public void setUpload(File upload) { this.upload = upload; } public String getUploadFileName() { return uploadFileName; } public void setUploadFileName(String uploadFileName) { this.uploadFileName = uploadFileName; } public String execute() throws Exception { String parentFilepath = ServletActionContext.getServletContext() .getRealPath("/upload");// 获取当前服务器目录真实路径 upload是存放上传文件的文件夹 System.out.println(parentFilepath + "--parent filepath--"); File parentFile = new File(parentFilepath);// 构造upload目录 System.out .println(this.getUploadFileName() + "--upload filename--"); File uploadFile = new File(parentFile, this.getUploadFileName());// 通过upload目录和文件名构建目标文件 if (!parentFile.exists()) parentFile.mkdir();// 如果upload目录不存在 则创建一个目录 FileUtils.copyFile(this.getUpload(), uploadFile);// 将要上传的文件复制到目标文件 return SUCCESS; } }
<action name="upload" class="hxlzp.uploadfile.UploadFile"> <result name="success">/index1.jsp</result> </action>
<img alt="" src="upload/<s:property value ="uploadFileName" /> ">
此处只是简单的实现了struts2中文件上传的功能 可以实现文件上传类型的设置