struts2无法上传png,jpg,excel表格,word文档的问题

   今天忽然接到一客户反馈,一个运行中的系统图片无法上传。我就纳闷了,上传一直没接到过问题,怎么就无法上传了呢。根据了解的情况,客户的上传应该是被拦截器拦截了,说明白点,就是本来在允许范围内的图片被非法拦截,导致不能上传。马上启用测试帐户进行测试,一切ok。然后联系过去,我还耐心的教该客户是不是无意中选择了非法的类型。然后还让他把他要上传的图片发了过来,在这边上传,一切也ok。这个问题就有点麻烦了。

   如果的确这样的话,问题应该出在拦截器。

   找了拦截器配置,类型过滤的配置如下:

 <param name="allowedTypes">
     image/bmp,image/png,image/gif,image/jpeg,image/jpg,application/msword,application/vnd.ms-excel

   </param>

 jpg的图片是被允许的啊。忽然想到了,何不将文件类型打印出来看看。

 然后去掉

 <param name="allowedTypes">
     image/bmp,image/png,image/gif,image/jpeg,image/jpg,application/msword,application/vnd.ms-excel

   </param>(拦截器在action之前运行,否则根本进入action)

  通过本机测试,各种图片的文件类型如下。

  bmp:image/bmp

  png:image/n-png

  jpg:image/jpg

  word:application/msword

  excel:application/vnd.ms-excel

  这种情况是也就是没有出错的情况。

  然而在另外一台机子上,各种文件类型如下:

 

  bmp:image/bmp

  png:image/n-png

  jpg:image/pjpeg

  word:application/actet-stream

  excel:application/actet-stream

  原因就处在这里,不能上传的机子上,jpg文件的类型是image/pjpeg,当然jpg文件就被拦截了。

  拦截器做如下设置:

  <param name="allowedTypes">
     image/bmp,image/png,image/gif,image/pjpeg,image/jpg,application/msword,application/vnd.ms-excel,application/actet-stream
    </param>

  解决了有的电脑无法上传的问题。有点郁闷,为什么这个格式类型不同的系统不同意呢?看来标准很重要。否则百家争鸣看来热闹,其实麻烦多多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值