struts2限制上传格式

struts2上传的只能是图片,限制上传其他格式的。。如果上传其他格式就提交不成功。求详细解说

4个回答

修改fileUpload拦截器

[code="java"]
image/bmp,image/jpeg,image/gif,image/png
10240000


[/code]

只允许:
bmp gif jpg png

更多MIME类型请参考 tomcat/conf/web.xml 里边有映射

diaoliwei2
DreamTHT 我Q:727506722,求详解
大约 7 年之前 回复
jinnianshilongnian
jinnianshilongnian 文件上传 如果失败 到错误页面input 是fileUpload拦截器完成的,action中的控制对它无效; 什么错误?
大约 7 年之前 回复
diaoliwei2
DreamTHT 我在action的catch里return input,难道影响??
大约 7 年之前 回复
diaoliwei2
DreamTHT 有啊,而且类型是type="chain"进的action
大约 7 年之前 回复
jinnianshilongnian
jinnianshilongnian 出错默认到 input result 估计是你没有配input result
大约 7 年之前 回复
diaoliwei2
DreamTHT 但是加这个还是不行啊,还是进action而且控制台报错
大约 7 年之前 回复

可以有两处验证:
1:先用js在页面验证,
2,在后台java里面获取文件名后缀判断
还有一种如果用flex的话,就 不用验证了直接设置选择图片类型文件就OK了,其他类型文件将不会显示在可选文件里面

1、如果你上传限制规则是采用js的前台判断,则在前台修改判断逻辑

2、如果是通过struts 的fileupload拦截器,则在拦截器中扩展所定义的fileupload拦截器的alowdtypes属性值。

3、如果既有前台规则也有拦截器规则,则看所定义的规则有没有冲突的,前后台规则都通了,上传就ok

顺便说下 struts2的拦截类型配置用的不是扩展名,而是它自己定义的alowdtypes,别写错了

前后台都验证为好,前台用js验证后缀名格式,后台使用读取文件字节码的方式验证,这种方式可有效防止用户自定义文件名后上传。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!