zip文件 firefox : application/octet-stream
chrome : application/octet-stream
oprea : application/zip
IE : application/x-zip-compressed

rar文件 firefox : application/x-rar-compressed
chrome : application/octet-stream
oprea : application/x-rar-compressed

IE :  application/octet-stream

使用Struts2上传文件,其实使用的是apache的 commons-fileupload-1.1.jar

在实际使用的过程中,使用如下配置fileUpload拦截器并不能过滤上传的文件类型,只能处理大小过滤。

[html] view plaincopyprint?
  1. <interceptor-ref name="defaultStack"/>
  2. <!-- 限制文件上传大小和类型 -->
  3. <interceptor-ref name="fileUpload">
  4. <param name="maximumSize">10485760</param>
  5. <param name="allowedTypes">
  6. application/msword,application/pdf,application/zip
  7. </param>
  8. </interceptor-ref>
<interceptor-ref name="defaultStack"/>
<!-- 限制文件上传大小和类型 -->
<interceptor-ref name="fileUpload">
<param name="maximumSize">10485760</param>
<param name="allowedTypes">
application/msword,application/pdf,application/zip
</param>
</interceptor-ref>

如果不使用缺省的拦截器,则action中的属性不能正确赋值。而使用后,拦截类型不起作用。网上说缺省拦截器中已经包含了fileUpload拦截器。那么这样配置就是做了两次拦截。通过查找资料和尝试,如下配置的情况下可以实现文件类型拦截。

[html] view plaincopyprint?
  1. <interceptor-ref name="defaultStack">
  2. <!-- 配置允许上传的文件类型,多个用","分隔 -->
  3. <param name="fileUpload.allowedTypes">
  4. application/msword,application/pdf,application/zip
  5. </param>
  6. <!-- 配置允许上传的文件大小,单位字节 -->
  7. <param name="fileUpload.maximumSize">10485760</param>
  8. </interceptor-ref>
<interceptor-ref name="defaultStack">
<!-- 配置允许上传的文件类型,多个用","分隔 -->
<param name="fileUpload.allowedTypes">
application/msword,application/pdf,application/zip
</param>
<!-- 配置允许上传的文件大小,单位字节 -->
<param name="fileUpload.maximumSize">10485760</param>
</interceptor-ref>

-------------------------------------------------------------------------------

参考文档:http://www.blogjava.net/winderain/archive/2011/01/04/310971.html

struts2文件上传类型限制 之 zip和rar文件类型相关推荐

  1. Spring MVC文件上传示例教程 - 单个和多个文件

    Spring MVC文件上传示例教程 - 单个和多个文件 文件上传是任何Web应用程序中非常常见的任务.我们之前已经看过如何在Servlet和Struts2文件上传中上传文件.今天我们将学习Sprin ...

  2. Spring Boot文件上传及回显(单/多文件)

    一.单文件上传 1.前端页面 <!DOCTYPE html> <html lang="en"> <head><meta charset=& ...

  3. java 文件上传 jar_JavaWeb 之 使用 commons-fileupload.jar 实现文件上传

    一.文件上传 文件的上传和下载,是非常常见的功能,在很多的系统中,或软件中都经常使用文件的上传和下载 文件的上传主要分为下面几步: 1.前台页面需要一个 form 标签,里面的 method 为 po ...

  4. Winform中实现FTP客户端并定时扫描指定路径下文件上传到FTP服务端然后删除文件

    场景 Windows10上怎样开启FTP服务: Windows10上怎样开启FTP服务_BADAO_LIUMANG_QIZHI的博客-CSDN博客 上面在Windows上搭建FTP服务器之后,会接收客 ...

  5. 文件上传漏洞揭密剖析(一)-文件上传漏洞原理

    前言 文件上传漏洞(File Upload Vulnerability)是一种常见的 Web 应用程序漏洞,通常存在于需要用户上传文件的应用程序中,如论坛.电子商务网站.博客.社交网站等.攻击者可以通 ...

  6. 文件上传(保存本地)和将文件转为base64

    //文件上传相关代码 @RequestMapping(value = "/testUploadFileTwo") @ResponseBody public String uploa ...

  7. 使用 Apache的文件上传组件(common-fileupload)来实现文件的上传

    文章目录 一.前言/先导 二.步骤 三.源码 四.测试结果 五.文件的下载 一.前言/先导 maven的依赖: 注意:common-fileupload,它需要依赖于 commons-io组件: &l ...

  8. 利用mysql实现上传和下载_将文件上传到数据库 和 从数据库下载文件到本地

    有时候我们需要把图片.文档.dll文件.等等,上传的数据库,然后当需要的时候再从数据库中读取到本地,下面我以上传图片为例,讲解一下如何把本地的一张图片上传到数据库,然后再从数据库下载到本地. 工具:V ...

  9. 任意文件上传mysql_[代码审计]XiaoCms(后台任意文件上传至getshell,任意目录删除,会话固定漏洞)...

    0x00 前言 这段时间就一直在搞代码审计了.针对自己的审计方法做一下总结,记录一下步骤. 审计没他,基础要牢,思路要清晰,姿势要多且正. 下面是自己审计的步骤,正在逐步调整,寻求效率最高. 0x01 ...

最新文章

  1. 利用 keyCode 控制数字输入框
  2. 最大流最小割经典例题_C/C++知识点之最大流最小割C++实现
  3. hdfs中与file数组类似的数组_Chapter05 Java中的数组
  4. jQuery杂项进阶(四)
  5. IDA——动态调试Linux上的ELF文件(整合他人博客)
  6. 大学生如何成功就业。
  7. 解决加载静态文件无法被浏览器缓存问题
  8. 简单的俄罗斯方块代码(Java)
  9. atitit 常见个人与企业与组织机构的信息化.docx
  10. MySQL常用DDL语法总结
  11. activti面试突击
  12. 在html中做框架的页面,网页中的框架(详解)
  13. VS解决方案文件格式说明
  14. userAgent判断客户端,以及各个浏览器的ua
  15. 教程┊解决使用USB键盘进行游戏后按任意键出现蓝屏的错误
  16. [附源码]Python计算机毕业设计SSM基于云服务器网上论坛设计(程序+LW)
  17. Restful风格的理解
  18. android录音波浪动画_Android语音输入的波浪效果 – WaveView
  19. 单代号网络图计算例题_工程人如何绘制进度计划?(双代号网络图、横道图等)...
  20. 正本清源:为什么区块链是一次新的信息化革命

热门文章

  1. JAVA开源脚手架——若依(普通版)
  2. PCB加logo图标——winTopo转换矢量图
  3. 基于卷积神经网络的图像分类
  4. CentOS 7 更改 任务栏 高度
  5. c语言局域网聊天源代码,局域网聊天的程序(C++版)
  6. 大数据运营过程中存在哪些问题?
  7. 想做自媒体还是要趁早,充分掌握平台规则,也能轻松上手
  8. k8s(kubernetes)通过jenkins从harbor拉取镜像,包括yaml传参(史诗级,保姆级)
  9. 【无标题】一款功能非常强大的免费串口示波器串口助手,支持绘图,logo保存数据保存,历史数据加载与对比。
  10. 如何将EXCEL文件转换为KML