博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struts2的文件上传机制
阅读量:6450 次
发布时间:2019-06-23

本文共 2320 字,大约阅读时间需要 7 分钟。

Struts2的上传(基本流程例如以下)
1、Struts2默认採用了apache commons-fileupload
2、Struts2支持三种类型的上传组件
3、须要引入commons-fileupload相关依赖包
* commons-io-1.3.2.jar
* commons-fileupload-1.2.1.jar
4、表单中须要採用POST提交方式,编码类型须要使用:multipart/form-data
5、Struts2的Action
取得文件名->>规则:输入域的名称+固定字符串FileName
取得文件数据->>规则:File 输入域的名称
取得内容类型->>规则:输入域的名称+固定字符串ContentType
6、得到输入流。採用输出流写文件

①.首先导入对应的jar包。然后我们建立一个index.jsp页面。

<%@ page language="java" contentType="text/html; charset=GB18030"    pageEncoding="GB18030"%>
Insert title here
标题:
文件:
②然后我们须要一个Action来处理上传,代码例如以下:

import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import com.opensymphony.xwork2.Action;public class UploadTestAction {		private String title;		//能够得到上传文件的名称	//规则:输入域的名称+固定字符串FileName	private String myFileFileName;		//取得文件数据	//规则:File 输入域的名称	private File myFile; 	//	//取得内容类型//	//规则:输入域的名称+固定字符串ContentType	private String myFileContentType;		public String getMyFileFileName() {		return myFileFileName;	}	public void setMyFileFileName(String myFileFileName) {		this.myFileFileName = myFileFileName;	}	public String getTitle() {		return title;	}	public void setTitle(String title) {		this.title = title;	}	public File getMyFile() {		return myFile;	}	public void setMyFile(File myFile) {		this.myFile = myFile;	}	public String getMyFileContentType() {		return myFileContentType;	}	public void setMyFileContentType(String myFileContentType) {		this.myFileContentType = myFileContentType;	}		public String execute() throws Exception {		InputStream is = null;		OutputStream os = null;		try {			is = new BufferedInputStream(					new FileInputStream(myFile));			os = new BufferedOutputStream(					new FileOutputStream("D:\\" + myFileFileName));			byte[] buffer = new byte[1024];			int len = 0;			while ((len = is.read(buffer)) > 0) {				os.write(buffer, 0, len);			}		}finally {			if (is != null) {is.close();}			if (os != null) {os.close();}		}		return Action.SUCCESS;	}}
③Action写完以后再到struts2的配置文件配置一下代码例如以下:

 
/success.jsp
OK!至此就能够上传文件了。

转载地址:http://hklwo.baihongyu.com/

你可能感兴趣的文章
Silverlight发布时的优化工作(2)
查看>>
Visual Studio 2010 Ultimate测试体系结构
查看>>
推荐《认知与设计——理解UI设计准则》读书笔记
查看>>
Windows 2003 AD升级至Windows 2012 AD之DHCP服务器迁移
查看>>
创建和管理表
查看>>
手机视频开发包
查看>>
Nagios短信报警功能通过飞信实现
查看>>
活动目录系列之一:基本概念
查看>>
DNS原理介绍和具体搭建DNS
查看>>
通用的进程监控重拉起bash脚本
查看>>
MDOP中的诊断和恢复工具——DaRT
查看>>
mysql dba系统学习(17)mysql的备份和恢复的完整实践
查看>>
Flink SQL 功能解密系列 —— 流计算“撤回(Retraction)”案例分析
查看>>
MS虚拟化架构部署XenDesktop5系列五
查看>>
RHEL6.3 纯命令行文本界面下安装桌面
查看>>
正则表达式
查看>>
枚举 EnumDescription 位运算 权限 sql c#
查看>>
Properties 类的使用
查看>>
如何配置Ubuntu 16.04 GRUB 2引导加载程序
查看>>
iphone:数组的反序
查看>>