8.文件上传和下载


1 文件上传和下载 2 课程结构 内容 课时(H) 第一章:Struts2入门 3 第二章:Struts2中的Action 6 第三章:Struts2拦截器 3 第四章:表达式语言OGNL 3 第五章:Struts2标签库 3 第六章:类型转换 3 第七章:国际化 3 第八章:文件上传和下载 3 第九章:校验框架 3 3 第八章:文件上传和下载 目标: 本章旨在向学员介绍: 1)Struts2单文件上传 2)Struts2多文件上传 3)Struts2文件下载 时间:3学时 教学方法:授课+练习 4 第八章:文件上传和下载 • 本章内容  8.1 Struts2文件上传  8.2 Struts2文件下载 5 8.1.1 Struts2文件上传概述 • 文件的上传和下载是Web应用中常用的功能。一般情况下可以 通过二进制编码的方式来获得请求参数的值,从而通过二进制 流来获得上传文件内容。 • 这种手动编程方式比较麻烦,需要手动地控制二进制流,相当 的复杂。不过可以使用其他开源组织提供的上传项目,通过这 些项目可以非常简单的完成文件上传。 6 8.1.1 Struts2文件上传概述 • 表单enctype属性 – application/x-www-form-urlencoded: 默认值,只要是 能输出网页的服务器端环境都可以 – multipart/form-data: 上传二进制数据,只有使用 multipart/form-data ,才能完整的传递文件数据,进行 上传操作 • 两个上传框架 – Common-FileUplaod:apache的开源项目,由jakarta 项目组开发。 – 功能强大,简单易用,可以实现一次上传一个或多 个文件,并可限制文件大小。 – COS:O‘Reilly公司开发的开源框架 – 会不定期的增加一些新功能。 7 8.1.1 Struts2文件上传概述 • 下载Common-FileUplaod框架地址: – http://jakarta.apache.org/commons/fileupload/ – 下载commons-fileupload-1.2-bin.zip文件 – 解压后得到commons-fileupload-1.2.jar – http://jakarta.apache.org/commons/io/ – 下载commons-io-1.3.2-bin.zip文件 – 解压后得到commons-io-1.3.2.jar 8 8.1.2 Struts2单文件上传 • 步骤: 第一步:在WEB-INF/lib下加入commons-fileupload- 1.2.1.jar、commons-io-1.3.2.jar。 第二步:把form表的enctype设置为:“multipart/form- data“,如下:
9 8.1.2 Struts2单文件上传 • 第三步:在Action类中添加以下属性,属性红色部分对应于表 单中文件字段的名称: public class HelloWorldAction{ private File uploadImage;//得到上传的文件 private String uploadImageContentType;//得到文件的类型 private String uploadImageFileName;//得到文件的名称 //这里略省了属性的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"; }} 10 8.1.2 Struts2单文件上传 • 如果上传文件大于2M时,在页面上就出现了一堆英文的错误 信息,大致是:the request was rejected because its size....exceeds the configured maximum... • 解决方法如下: 在struts.xml中,添加常量struts.multipart.maxSize,重新设 置此常量值,此常量默认为2M。 11 8.1.3 Struts2多文件上传 • 步骤: 第一步:在WEB-INF/lib下加入commons-fileupload- 1.2.1.jar、commons-io-1.3.2.jar。这两个文件可以从 http://commons.apache.org/下载。 第二步:把form表的enctype设置为:“multipart/form- data“,如下:
12 8.1.3 Struts2多文件上传 第三步:在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
还剩25页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 2 金币 [ 分享pdf获得金币 ] 1 人已下载

下载pdf

pdf贡献者

hejinen

贡献于2014-04-15

下载需要 2 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf