因为要上传文件,表单属性遍设置成了enctype="multipart/form-data",但getParameter()这个方法就用不了了,于是无法判断表单提交是否合法,我想要知道怎么判断表单提交是否合法。我接收表单信息和文件的代码如下:
HashMap<String,String> map=new HashMap<String,String>();
String displayImage = "";
// 采用apache工具包进行文件上传操作
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
// 解析 请求信息
List<FileItem> fileitems = upload.parseRequest(request);
for (FileItem item : fileitems) {
if (item.isFormField()) {
// 简单表单信息处理
String name = item.getFieldName();
String value = item.getString();
// 转换下字符集编码
value = new String(value.getBytes("iso-8859-1"), "utf-8");
map.put(name, value);
} else {
// 原文件名
String filename = item.getName();
if(filename.length()>0){
String dotName = "";
int index = filename.lastIndexOf('.') ;
if(index > 0){
dotName = filename.substring(index);
}
// 生成新的文件名
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
filename = sdf.format(new Date()) + dotName;
displayImage = "UploadFile/" + filename;
String dir = application.getRealPath("UploadFile");
System.out.print(dir);
item.write(new File(dir, filename));
// 删除临时文件
item.delete();
}
}
}
请各位大侠帮忙看看,我该如何修改!