1、文件上传:

  --表单准备:

    > 需把HTML表单的enctype属性设置为multipart/form-data;

    > 需把HTML表单的method属性设置为post;

    > 需添加<input type=”file”> 字段;

  --struts2中,FileUpload拦截器和Jakarta Commons FileUpload组件可以完成文件的上传;

    > 1) 在Jsp页面使用file标签,如果需要一次上传多个文件,就必须使用多个file标签,并且他们的name必须相同(也可以使用list);

    > 2) 在Action中添加三个和文件上传相关的属性

      ①private File fieldName;

      ②private String fieldNameContentType;

      ③private String fieldNameFileName;

  --上传多个文件:

    > Action类中的三个属性修改为List类型即可(List<File>);

  --对上传文件进行限制(扩展名、大小等):

    > 通过配置FileUploadInterceptor拦截器的参数来进行限制;

      1) maximumSize--允许文件大小最大值,默认为2M;

      2) allowedTypes--允许上传文件的类型,使用 , 分隔;

      3) allowedExtensions--允许的扩展名,使用 , 分隔;

    > 定制错误消息,在资源文件中定义如下key/value:

      1) Struts.messages.error.uploading--文件出错

      2) struts.messages.error.file.too.large--文件超过限定大小

      3) struts.messages.error.content.type.not.allowed--文件内容类型不符

      4) struts.messages.error.file.extension.not.allowed--文件扩展名不符

2、文件下载:

  --struts2为文件下载提供了一种Stream结果类型,使用时不必准备一个Jsp也没页面;

  --Stream结果类型的参数设置:

    > contentType:被下载的文件的MIME类型,默认为text/plain

    > contentLength:大小,以字节为单位

    > contentDisposition:响应头,默认值为inline

    > inputName:Action中提供的文件的输入流,默认为inputStream

    > bufferSize:文件下载时缓冲区大小,默认为1024B

    > allowCaching:文件下载是是否允许使用缓存,默认为true

    > contentCharSet:下载文件时的字符编码;

  --Steam结果类型的参数可以在Action以属性的方式覆盖;

  

  --示例:

struts2--文件上传与下载的更多相关文章

  1. Struts2文件上传和下载(原理)

    转自:http://zhou568xiao.iteye.com/blog/220732 1.    文件上传的原理:表单元素的enctype属性指定的是表单数据的编码方式,该属性有3个值:1)     ...

  2. 十六、Struts2文件上传与下载

    文件上传与下载 1.文件上传前提:<form action="${pageContext.request.contextPath}/*" method="post& ...

  3. 【SSH2(实用文章)】--Struts2文件上传和下载的例子

    回想一下,再上一篇文章Struts2实现机制,该步骤做一步一步来解决,这种决心不仅要理清再次Struts2用法.映射机制及其在深入分析.最后一个例子来介绍Struts2一种用法,这里将做一个有关文件上 ...

  4. 学习Struts--Chap07:Struts2文件上传和下载

    1.struts2文件上传 1.1.struts2文件上传的基本概述 在开发web应用的时候,我们一般会为用户提供文件上传的功能,比如用户上传一张图像作为头像等.为了能上传文件,我们必须将表单的met ...

  5. struts2 文件上传和下载,以及部分源代码解析

    struts2 文件上传 和部分源代码解析,以及一般上传原理 (1) 单文件上传 一.简单介绍 Struts2并未提供自己的请求解析器,也就是就Struts2不会自己去处理multipart/form ...

  6. (八)Struts2 文件上传和下载

    所有的学习我们必须先搭建好Struts2的环境(1.导入对应的jar包,2.web.xml,3.struts.xml) 第一节:Struts2 文件上传 Struts2 文件上传基于Struts2 拦 ...

  7. struts2学习(13)struts2文件上传和下载(1)

    一.Struts2文件上传: 二.配置文件的大小以及允许上传的文件类型: 三.大文件上传: 如果不配置上传文件的大小,struts2默认允许上传文件最大为2M: 2097152Byte:   例子实现 ...

  8. Struts2文件上传与下载

    一,页面 index.html 在页面中最重要的就是这个文件上传用的 form 表单,注意这里一定要把 form 的encyType属性明确标定为“multipart/form-data”,只有这样. ...

  9. struts2文件上传和下载

    1. struts系统中的拦截器介绍 过滤器:javaweb中的服务器组件,主要针对的请求和响应进行拦截. 拦截器:主要针对方法的调用,进行拦截器,当使用代理对象调用某个方法时候 对方法的调用进行拦截 ...

  10. 笔记:Struts2 文件上传和下载

    为了上传文件必须将表单的method设置为POST,将 enctype 设置为 muiltipart/form-data,只有设置为这种情况下,浏览器才会把用户选择文件的二进制数据发送给服务器. 上传 ...

随机推荐

  1. 调用jar程序,读取与jar同级的配置文件。

    System.getProperty("user.dir") + "\\Mysettings.properties";//该方法在Alimonitor里取不到绝 ...

  2. 修改安全策略组 -- windows

    1.新建安全策略组文件SAMTool.inf md C:\SAMLog & echo [Version] >C:\SAMLog\SAMTool.inf &echo signatu ...

  3. skiplist

    §1 Skip List 介绍 Skip List是一种随机化的数据结构,基于并联的链表,其效率可比拟于二叉查找树(对于大多数操作需要O(log n)平均时间).基本上, 跳跃列表是对有序的链表增加上 ...

  4. java学习第三天

    关于上次的数据转换,如果定义的是 short 是,那么s=s+1,这样是错误的,会损失精度,但如果是s+=1.确实正确的,因为它包含了一个强制转化在里面.相当于 s=(int)(s+1);  然后特地 ...

  5. 使用 Git 管理源代码

    在现代软件开发项目中,要成为一个有效的软件开发人员,我们必须能够与其他项目贡献者并行进行开发.源代码管理(SCM)系统不是什么新思想.为了编写一些能够更快速.简单地开发以后软件项目的软件,已经进行了很 ...

  6. Framework7--Test

    <!doctype html> <html> <head> <title>{{title}}</title> <meta charse ...

  7. 如何使用XproerUI库(WTL)-XproerUI界面库教程

    版权所有 2009-2015 荆门泽优软件有限公司 保留所有权利 产品首页:http://www.ncmem.com/apps/xproerui/index.asp 开发文档(SkinStudio): ...

  8. ted be grateful

    -------------------------------------------------------------- David Steindl-Rast: Want to be happy? ...

  9. phpstorm

    9XVKERIY9F-eyJsaWNlbnNlSWQiOiI5WFZLRVJJWTlGIiwibGljZW5zZWVOYW1lIjoiYXNoZXIgY2hlbiIsImFzc2lnbmVlTmFtZ ...

  10. js常用正则表达式2

    字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界. -或- 对 ...