jsp使用kindeditor上传文件用struts2

2024-11-29 07:45:25
推荐回答(1个)
回答(1):

在jsp下的demo中有,如果用struts1的话,直接复制过来就行,如果用struts2的话,需要转一下,由于struts2把HttpServletRequest对象给封装起来了,所以使用的是MultiPartRequestWrapper
类,所以在原uplod_json.jsp的第76行开始换掉,new一个MultiPartRequestWrapper
类,然后调用getFiles("imgFile")方法得到数组,再循环遍历,循环跟原来的jsp是一样的

MultiPartRequestWrapper wrapper = (MultiPartRequestWrapper)request;
String[] fileNames = wrapper.getFileNames("imgFile");
File[] files = wrapper.getFiles("imgFile");
for(int i=0;i //获取文件名
String fileName = fileNames[i];
//获取文件
File file = files[i];
//验证文件大小
if(file.length() > maxSize){
out.println(getError("上传文件大小超过限制。"));
return;
}
//验证文件后缀名
String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
if(!Arrays.asList(extMap.get(dirName).split(",")).contains(fileExt)){
out.println(getError("上传文件扩展名是不允许的扩展名。\n只允许" + extMap.get(dirName) + "格式。"));
return;
}
}