黑马程序员--Struts2.3.7技术的汇…
2015-12-24 10:27
369 查看
--------期待与您交流------
package cn.itcast.web.struts.actions; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import org.apache.struts2.ServletActionContext; public class FileUploadAction { // photo,是jsp表单的字段名称,FileName是固定写法,需要提供set和get方法; private String[] photoFileName; // photo是jsp表单的字段名; private File[] photo; public String[] getPhotoFileName() { return photoFileName; } public void setPhotoFileName(String[] photoFileName) { this.photoFileName = photoFileName; } public File[] getPhoto() { return photo; } public void setPhoto(File[] photo) { this.photo = photo; } public String execute() { // 首先在服务器目录下创建一个目录,存放客户端上 的文件;然后获取这个服务器的实际路径,然后将服务器上 的文件 if (photo != null) { @SuppressWarnings("deprecation") String realPath = ServletActionContext.getRequest().getRealPath( "/photo"); File realDir = new File(realPath); if (!realDir.exists()) { realDir.mkdirs(); } for (int i = 0; i < photo.length; i++) { // 创建文件用于接收 送的文件; File destFile = new File(realDir, photoFileName[i]); try { //将客户端的文件拷贝到服务器文件; FileUtils.copyFile(photo[i], destFile); } catch (IOException e) { ServletActionContext.getRequest().setAttribute("message", "服务器出现异常"); return "input"; } } //上 成功则在request中存储一个 记 ServletActionContext.getRequest().getSession().setAttribute("message", "上 成功"); return "message"; } return "message"; } }
文件上 功能比较简单,只要注意要在表单页面设置属性enctype="multipart/form-data",已经action类中定义好属性名。
服务器目录下要定义相关目录;
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib uri="/struts-tags" prefix="s" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>上 照片</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> </head> <body> <s:form action="fileupload" enctype="multipart/form-data" namespace="/itcast"> 文件一:<input type="file" name="photo"/><br /> 文件二:<input type="file" name="photo"/><br /> 文件三:<input type="file" name="photo"/><br /> <input type="submit" value="上 "/> <input type="reset" value="重置"/> </s:form> </body></html>
转发至微博
转发至微博
相关文章推荐
- 黑马程序员--Struts2.3.7技术的汇…
- 黑马程序员--Struts2.3.7技术的汇…
- Struts2.3.7技术的汇总之三(类型…
- Struts2.3.7技术的汇总之二(注册…
- 黑马程序员--Struts2的常量
- 黑马程序员--Struts2复习笔记
- JDK1.5并发库笔记和总结
- Java一些实用的类(持续更新)
- Java多线程基础知识回顾与总结;
- Java基础笔记的复习与整理---Socke…
- Java基础笔记的复习与整理--集合框…
- JDK1.5新特性回顾
- 在学习Java高级应用中碰到的一些问…
- 黑马程序员--Spring框架方方面面之…
- Java开发两种Tree实现
- Spring MVC拦截器+注解方式实现防止表单重复提交
- 异常管理 - 采用模板方法优化try-catch-finally
- java document对象详解
- java知识点之静态导入
- Spring Boot——开发新一代Spring应用