我有一个表单 
里面既要提交一些文本信息 
又要提交图片~~ 
但是表单里设置了enctype="multipart/form-data" 
那么文本信息就传递不过去 
如果不要 enctype="multipart/form-data" 
上传的文件又不行 通常怎么解决这个问题啊

解决方案 »

  1.   

    DiskFileUpload upload = new DiskFileUpload();
    upload.setSizeMax(size);
     try{
             items = upload.parseRequest(request);
            }catch(Exception _ex){
             error = "附件太大!";
                 request.setAttribute("error", error);
                    return mapping.findForward("failure");
            }
    Iterator iter = items.iterator();
    while (iter.hasNext()) {
    FileItem item = (FileItem) iter.next();
           if (item.isFormField()) {  //如果是普通表单
                     if(item.getFieldName().equals("board_id")) {
                      board_id = item.getString();
                      }else if(item.getFieldName().equals("TZNR")) {
                       article_content=item.getString();
                      }else if(item.getFieldName().equals("artice_title")) {
                       artice_title=item.getString();
                      }else if(item.getFieldName().equals("article_id")){
                       re_artice_id=item.getString();
                       //System.out.println("re_artice_id="+re_artice_id);
                      }
          } else {     //如果是文件域表单
                          is=item.getInputStream();//获得上传文件的输入流
      size=item.getSize();//文件大小
      filename=item.getName();
      if(!filename.equals("")){
     filename=filename.substring(filename.lastIndexOf("\\")+1);
     filename_exec = filename.substring(filename.lastIndexOf(".")+1);
      }
         }
      }
      

  2.   

    用 String cplb=mySmartUpload.getRequest().getParameter("cplb");代替原来的String cplb=request.getParameter("cplb");就OK了,简单吧!o(∩_∩)o...我是在JSP和martUpload平台下做的 看看行不行