关于struts2文件上传的一些笔记

一.文件上传:
  1.表单需要注意3 点
  2.Struts2 的文件上传实际使用的是Commons FileUpload组件,所需导入
  
  
  3.Struts2 进行文件上传所需使用的FileUpload拦截器
  4. 基本文件上传:直接在Action 中定义如下3个属性,并提供get(),set()方法
      //文件对应的File对象
       private File [fileFileName];
      //文件类型
       private String [fileFileName]ContentType;
      //文件名
      private String [fileFileName]FileName;
    5.使用IO流进行文件的上传即可。
    6.若要传多个文件:
             上述的三个属性可以改为List类型,多个name属性值要一致;
   <!--  多个描述时,若只用(pptDesc)不用下标形式如(ptDesc[0]),回显时就会有问题--> 
    7.能限制上传文件的类型,大小,格式等等吗。
               可通过配置FileUploadInterceptor 拦截器来进行限制
        (1)maximumSize (optional) - 默认最大值为2M
        (2)allowedTypes (optional) - 允许的上传文件的类型,多个使用,分割
         (3)allowedExtensions (optional) - 允许上传的文件扩展名,多个使用,分割
      8.错误消息定制。可在国际资源文件中定义如下消息:                         
       struts.messages.error.uploading -  文件上传类型错误消息                              
       struts.messages.error.file.too.large -  文件大小超过消息                               
        struts.messages.error.content.type.not.allowed -   文件内容类型不合法消息                                   
        struts.messages.error.file.extension.not.allowed - 文件扩展名不合法消息
                     放到国际资源配置文件(.properties)里 
                   但上述消息不完善。
                    可以参考  struts2-core-2.3.16.3.jar 下的 org.apache.struts2 的struts-messages.properties文件:
struts.messages.error.uploading=Error uploading: {0}
struts.messages.error.file.too.large=The file is to large to be uploaded: {0} "{1}" "{2}" {3}
struts.messages.error.content.type.not.allowed=Content-Type not allowed: {0} "{1}" "{2}" {3}
struts.messages.error.file.extension.not.allowed=File extension not allowed: {0} "{1}" "{2}" {3}
                            放到国际资源配置文件(.properties)里
  二、文件的下载
     Struts2 提供了 type="stream" 的result 进行下载即可  。参考    文档 stream-result.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值