当前位置: 代码迷 >> Java Web开发 >> 表单属性为enctype="multipart/form-data"怎么判断提交是否合法
  详细解决方案

表单属性为enctype="multipart/form-data"怎么判断提交是否合法

热度:4020   发布时间:2016-04-10 23:55:41.0
表单属性为enctype="multipart/form-data"如何判断提交是否合法
本帖最后由 u011613626 于 2013-11-06 15:03:14 编辑
因为要上传文件,表单属性遍设置成了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(); 
                 }
               } 

}

请各位大侠帮忙看看,我该如何修改!
  相关解决方案