Struts文件上传allowedTypes问题,烦人的“允许上传的文件类型”
来源:互联网 发布:曼努埃尔大帝 知乎 编辑:程序博客网 时间:2024/06/04 18:18
Struts文件上传allowedTypes问题,烦人的“允许上传的文件类型”
Struts的文件上传问题,相信很多人都会使用allowedTypes参数来配置允许上传的文件类型,如下。
但是,用过这个参数的人都知道,allowedTypes是“文件类型”, 而不是“文件后缀名”,文件类型与文件后缀名有什么区别呢?
就如后缀名为bmp的图片的文件类型为image/bmp,后缀名为xls的Excel文件类型为application/vnd.ms-excel等等....
这各种各样的”文件类型“,让人烦不胜烦。。。。
猜想是否可以根据后缀名来过滤允许上次的文件,Struts如此红火的框架应该能想到这点。
于是便打开Struts文件上次的拦截器org.apache.struts2.interceptor.FileUploadInterceptor一看,发现如下代码:
看到一个allowedTypesSet和一个allowedExtensionsSet,很容易想到,前者是用于存放参数allowedTypes的,
而后者呢,自然是用于存放参数allowedExtensions的,extension翻为:延长、扩展...
所以,我们可以大胆的猜想,allowedExtensions参数就是用于配置”允许上传的文件后缀名“。
再来看看FileUploadInterceptor里的一个方法acceptFile(),此方法用于根据当前配置,检查该文件是否允许被上传
别的先不管,先看看到第2,3个else if节点,分别是利用了allowedTypesSet和allowedExtensionsSet,如下
从上面的代码中可以看出,如果我们要利用allowedExtensions参数来控制上传文件的后缀名,则不能配置allowedTypes参数。
否则,如果allowedTypes参数有配置,那么allowedExtensions参数将不会再起效。
总结
使用Struts文件上次功能,我们可以使用”文件类型“和”文件后缀名“两者中的一个来控制上传文件的类型/后缀名。但是,allowedTypes的优先级别高于allowedExtensions,如果配置了allowedTypes则allowedExtensions将不再起效。最后附上allowedExtensions的一个简单配置:
- Struts文件上传allowedTypes问题,烦人的“允许上传的文件类型”
- Struts文件上传allowedTypes问题,烦人的“允许上传的文件类型”
- Struts文件上传allowedTypes问题,烦人的“允许上传的文件类型”
- Struts文件上传allowedTypes问题,烦人的“允许上传的文件类型”
- Struts文件上传allowedTypes/allowedExtensions问题
- Struts2 文件上传 之 文件类型 allowedTypes
- Struts2 文件上传 之 文件类型 allowedTypes
- Struts2 文件上传 之 文件类型 allowedTypes
- Struts2 文件上传 之 文件类型 allowedTypes
- Struts2 文件上传 之 文件类型 allowedTypes
- Struts2 文件上传文件类型allowedTypes汇总
- Struts2 文件上传文件类型allowedTypes汇总
- Struts2 文件上传 之 文件类型 allowedTypes
- struts2文件上传,文件类型 allowedTypes对应
- html5 input设置允许的文件类型上传
- Struts2 文件上传--allowedTypes
- struts文件上传,获取文件名和文件类型的原理。
- 文件上传在Struts的Action检测文件类型
- Windows命令行route命令使用图解
- ural 1032 Find a Multiple (鸽巢原理)
- 第二次扯谈
- 关于visual studio 2010 直接复制粘贴会出现乱码的解决方法
- Pascal's Triangle
- Struts文件上传allowedTypes问题,烦人的“允许上传的文件类型”
- 31. Next Permutation
- 笔试选择题二十七
- 单例模式
- A Simple HTTP Server Implementation
- amap
- 134. Gas Station
- Map查表法练习
- matlab 产生每次都一样的随机数