最近struts2频繁爆出漏洞,接二连三的升级,其中遇到了特别多的问题,我都不敢再想了。
将所有的包替换完后,会发现下面的代码会报错了
File file = mutipartRequest.getFiles(“imgFile”)[0];
原来是需要强制类型转换,于是修改成以下
File file = (File) mutipartRequest.getFiles(“imgFile”)[0];
这下项目中没有报错了,启动tomcat也正常。但在访问页面时,发现kindeditor编辑器中无法上传图片了,找来找去,不知道是什么原因。后台报strutsUploadedFile can not cast to java.io.File。细想也就是后面这串东西不能强制转换成File了,接收到的文件是UploadFile类型的,于是将File改成UploadFile,这下更惨,下方的代码接二连三都是错的,输入输出流之类。于是在网上搜索各种信息,最后在debug中发现了问题所在,也参考了官方的api,发现了这么个东西。
原来是放在content里的,我也是服了。最后将代码改成
File file = (File) mutipartRequest.getFiles(“imgFile”)[0].getContent();
问题终于解决了。希望能帮到大家。