黑马程序员---struts2学习笔记之五(文件上传)

-----------android培训java培训、java学习型技术博客、期待与您交流!------------


struts2中文件上传

1.action中属性声明

        private FileuploadImage;//临时文件(用来存放上传的文件,命名要与前台表示文件上传的<input>标签是的name属性值要一致)。

        private String uploadImageContentType; //上传文件的类型,命名方式为<input>标签是的name属性值+ContentType。

        private String uploadImageFileName; //上传文件的文件名,命名方式为<input>标签是的name属性值+FileName。

2.前台页面上的标签:

***************************************************************

<form action="xxAction"Method="post" enctype="multipart/form-data">

    简历:<input type="file" name="uploadImage"><br>

    <input type="submit"value="提交">

</form>

***************************************************************

    特别的情况说明:enctype值一定要设置为"multipart/form-data",原因:表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。
默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据.

3.设置文件上传的类型、大小等限制:

    3.1上传文件大小限制以常量的方式(配置总上传文件的大小):
    <constant name="struts.multipart.maxSize" value="xxxx"></constant>
    xxxx表示上传文件的大小,以字节为单位,默认为2M.
    3.2在自定义的配置文件中配置上传文件类型、大小等限制:
    因为在struts2中处理文件上传的是相应的拦截器,因为我们可以通过配置这个拦截器的工作参数来配置文件上传的一些条件,例如:

***************************************************************

<package name="upload" namespace="/upload"extends="struts-default">

    <action name="*_Action"class="com.struts2.upload.UploadAction"

    method="{1}">

        <result name="uploadFile_ok">/upload/success.jsp</result>

        <result name="input">/error.jsp</result>

        <interceptor-ref name="defaultStack ">

                <param name="fileUpload.maximumSize">1097152</param>

                <param name="fileUpload.allowedTypes">text/plain</param>

                <param name="fileUpload.allowedExtensions">.txt</param>

                </interceptor-ref>

        </action>

</package>

***************************************************************

“<param name="fileUpload.maximumSize">1097152</param>”格式要求:

    Name:拦截器名+属性名(拦截器底层确定);

    <param>标签中:属性值。

    本例子配置的是上传文件大小最多为1097152,类型为:text/plain,允许的扩展名:.txt。

***************************************************************

    3.3当文件上传出现错误时,需要给前台页面一些信息反馈,可以通过配置文件的方式进行反馈,具体方式为:

    自定义一个配置文件,将以下信息配置成相应的提示信息(来自底层struts-messages.properties文件中定义好,开发人员定义将复盖掉底层的配置):

        struts.messages.error.uploading=提示1

        struts.messages.error.file.too.large=提示2

        struts.messages.error.content.type.not.allowed=提示3

        struts.messages.error.file.extension.not.allowed=提示4

   在主配置文件中以资源文件的形式引下(与上述类型转换中的资源文件引入一致)。

4.多文件上传:

    将以上action中的与文件上传有关的属性都改成数组,属性命名与单文件上传一样,除此之外与单文件上传唯一的区别就是在后台处理的时候变成处理数组。


-------------------------------------------------------------2015年8月6日---------------------------------------------------------------------------------------------------


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值