解决form表单同时提交文件类型(图片,文件等)和数据类型(文本框等等)应该如何处理

废话不多说,直接奔主题

大家都知道,当form表单中既要提交文本,又要上传图片时,必需在form表单中加上属性enctype ="multipart/form-data",
但一加上这个属性,用request.getParameter(“name的值”)是无法获取的,怎办呢?
只能用
fileupload
的提供的方法了,我的例子如下:

我的form表单:

产品小图片: <br/> 产品大图片: <br/> 产品所属类别:在这里插入代码片 <select name="sort"> --选择产品类别--option> aoption> boption> coption> doption> select><br/> 产品名称: <input type="text" name="productName"/><br> 产品描述: <textarea rows="3" cols="40" name="productDes">textarea><br> <input type="submit" value="提交"/><br/> form>

获取其中的值并上传文件如下:

	  String productName=null,productDes=null,sort=null,fileupS=null,fileupB=null;
      DiskFileItemFactory dff = new DiskFileItemFactory();
      ServletFileUpload fu = new ServletFileUpload(dff);
      {   
          List li =fu.parseRequest(request);
          Iterator iter = li.iterator();
         while(iter.hasNext()){              
             FileItem item = (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");
           

你可能感兴趣的:(java,servlet)