第一步:在WEB-INF/lib下加入commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar。这两个文件可以从http://commons.apache.org/下载。 第二步:把form表的enctype设置为:“multipart/form-data“,如下: <form enctype="multipart/form-data" action="${pageContext.request.contextPath}/xxx.action" method="post">//一定要加提交方法了 <input type="file" name="uploadImage"> </form> 第三步:在Action类中添加以下属性,属性红色部分对应于表单中文件字段的名称: public class HelloWorldAction{ private File uploadImage;//得到上传的文件 和表单里的name属性值相同 private String uploadImageContentType;//得到文件的类型 和表单里的name属性值相同 后面固定 private String uploadImageFileName;//得到文件的名称 和表单里的name属性值相同 后面固定 //这里略省了属性的getter/setter方法 public String upload() throws Exception{ String realpath = ServletActionContext.getServletContext().getRealPath("/images"); File file = new File(realpath); if(!file.exists()) file.mkdirs(); FileUtils.copyFile(uploadImage, new File(file, uploadImageFileName)); return "success"; } } //////////////////////////////////////////////////////多文件上传////////////////////////////////////////////////////////////////// 第一步:在WEB-INF/lib下加入commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar。这两个文件可以从http://commons.apache.org/下载。 第二步:把form表的enctype设置为:“multipart/form-data“,如下: <form enctype="multipart/form-data" action="${pageContext.request.contextPath}/xxx.action" method="post"> <input type="file" name="uploadImages"> <input type="file" name="uploadImages"> </form> 第三步:在Action类中添加以下属性,属性红色部分对应于表单中文件字段的名称: public class HelloWorldAction{ private File[] uploadImages;//得到上传的文件 private String[] uploadImagesContentType;//得到文件的类型 private String[] uploadImagesFileName;//得到文件的名称 //这里略省了属性的getter/setter方法 public String upload() throws Exception{ String realpath = ServletActionContext.getServletContext().getRealPath("/images"); File file = new File(realpath); if(!file.exists()) file.mkdirs(); for(int i=0 ;i<uploadImages.length; i++){ File uploadImage = uploadImages[i]; FileUtils.copyFile(uploadImage, new File(file, uploadImagesFileName[i])); } return "success"; }}
struts 2文件上传
最新推荐文章于 2021-05-31 23:17:54 发布