form表单同时提交文件类型的input和普通input的方法

废话不多说,直接奔主题
大家都知道,当form表单中既要提交文本,又要上传图片时,必需在form表单中加上属性enctype ="multipart/form-data",但一加上这个属性,用request.getParameter("name的值")是无法获取的,怎办呢?
只能用fileupload的提供的方法了,我的例子如下:
我的form表单:
/servlet/addproductServlet"method="post" enctype = "multipart/form-data">
    产品小图片:
   

    产品大图片:
   

   产品所属类别:
   

    产品名称:
   

    产品描述:
   
   
   

 
获取其中的值并上传文件如下:
String productName=null,productDes=null,sort=null,fileupS=null,fileupB=null;
      DiskFileItemFactory dff = new DiskFileItemFactory();
      ServletFileUpload fu = new ServletFileUpload(dff);
      
       try{   
          List li =fu.parseRequest(request);
          Iteratoriter = li.iterator();
         while(iter.hasNext()){              
             FileItemitem = (FileItem)iter.next();
            if(item.isFormField()){  //此处是判断非文件域,即不是的标签
                String name=item.getFieldName(); //获取form表单中name的id
               if("productName".equals(name))  
                  productName=item.getString("utf-8"); //item是指定id的value值,此处用      item.getString("utf-8")是把item用utf-8解析,根据你的需要可以用其他的,如:gbk;
                elseif("productDes".equals(name))
                  productDes=item.getString("utf-8");
         

你可能感兴趣的:(form表单同时提交文件类型的input和普通input的方法)