SpringMVC 使用uploadify插件上传文件,post方法无法直接获取参数问题
最近项目做安全扫描,扫描到一个问题,uploadify插件请求类型不能为get,必须改成post,当时以为很简单,可是修改成post后发现一个问题就是无法获取参数了:
代码如下:
原先get方式如file,title参数都是可以直接获取的,但是改成post后却都为空,
网上找了很久,众说纷纭,有的所必须用get,用的用post方式也给出了解决方案,但是我实验却不行,诶办法只能想其他方法了解决了,其实也简单吧,
如下:
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload fileImport = new ServletFileUpload(factory);
fileImport.setHeaderEncoding("UTF-8");
List items = fileImport.parseRequest(request);
Iterator itr = items.iterator();
FileItem fileItem = null;
int state = 0;
String _csrf = null;
// 循环判断参数
while (itr.hasNext()) {
FileItem item = (FileItem) itr.next();
if (item.isFormField()) {
//此处为表单参数
String fieldName = item.getFieldName();
if ("_csrf".equals(fieldName)) {
_csrf = item.getString();
}
}else{
//此处非表单即文档参数
}
其他地方不用改动,即可获取各种参数,
问题解决