struts2实现文件上传
来源:互联网 发布:学做淘宝视频教程全集 编辑:程序博客网 时间:2024/06/09 17:05
实现文件上传的方式有很多种,如smartupload,输入输出流以及其他方式。struts2也提供了文件上传给开发人员,相比之下struts2的文件上传更加简单快速。在开发中文件上传是比不可少的,因此这也是一个比较重要的知识点。下面就来写一下struts2的文件上传。
1.写一个表单用来选择文件
这里不能忘记写enctype="multipart/form-data",这一点在开发中可能会被遗漏
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>struts2文件上传</title></head><body> <form action="uploadAction.action" enctype="multipart/form-data" method="post"> 选择文件:<input type="file"/ name="picture"> <!-- 这里的picture和后面的action里的必须一致 --> <input type="submit" value="上传"/> </form></body></html>
文件上传使用的提交方式必须使用post提交,原因相信大家都知道。
2.写一个处理文件上传的action
这里需要注意,名称要和表单里的name保持一致,这是struts2的一些规定
package org.lxh.action;import java.io.File;import java.io.IOException;import org.apache.commons.io.FileUtils;import org.apache.struts2.ServletActionContext;public class UploadAction {private File picture;private String pictureFileName; //FileName是固定写法,前面的picture就是表单里的name属性private String pictureContentType;public File getPicture() {return picture;}public void setPicture(File picture) {this.picture = picture;}public String getPictureFileName() {return pictureFileName;}public void setPictureFileName(String pictureFileName) {this.pictureFileName = pictureFileName;}public String getPictureContentType() {return pictureContentType;}public void setPictureContentType(String pictureContentType) {this.pictureContentType = pictureContentType;}public String upload() throws Exception {String flag="failure"; //取得真实目录String path=ServletActionContext.getServletContext().getRealPath("/image");File file=new File(path,pictureFileName);//如果目录不存在就创建一个if(!file.getParentFile().exists()) file.getParentFile().mkdirs();//使用FileUtil工具类保存文件,这里不能少了commons-io包if(picture!=null){ FileUtils.copyFile(picture, file);ServletActionContext.getContext().put("tip", "成功");flag="success";}else{ServletActionContext.getContext().put("tip", "失败");}return flag;}}
这里需要使用一个工具类,需要commons-io包的支持,另外要对文件目录做判断,如果不存在就创建目录。之后保存一个提示信息,在结果页面显示。
- Struts2实现文件上传
- struts2实现文件上传
- struts2实现文件上传
- Struts2实现文件上传
- struts2实现文件上传
- struts2实现文件上传
- struts2实现文件上传
- struts2实现文件上传
- struts2实现文件上传
- Struts2实现文件上传
- Struts2实现文件上传
- Struts2实现文件上传
- Struts2实现文件上传
- struts2实现上传文件
- Struts2实现文件上传
- Struts2实现文件上传
- Struts2实现文件上传
- Struts2实现文件上传
- 揭秘淘宝286亿海量图片存储与处理架构
- 在dede:arclist、dede:list等标签中调用附加字段
- Ubuntu10.10下Android开发环境的搭建
- 引用之类对象的使用
- AndroidNote005.手机防盗软件
- struts2实现文件上传
- 未来三年的移动互联网创业----创新工场创始合伙人汪华 在移动开发者大会上的演讲
- shell命令一行一行读取文件数据
- Hadoop简介
- 查询mysql事务隔离级别
- 立志成为IT精英
- oracle数据库创建过程
- ElGamal加密算法基础到实现详解
- 微软面试