enctype = multipart / form-data为java中的文本文件提供空值

时间:2017-07-26 09:08:46

标签: jsp

我已声明编码类型"多部分/表格数据"在java服务器页面中。我试图获取文件的文件值。所有文本字段,我得到null。如果我删除了编码类型文本字段被正确检索。

1 个答案:

答案 0 :(得分:0)

hei,那导致jsp不支持方法request.getparameter(“”);使用表单使用enctype =“multipart / form-data”从textfield获取值。我建议您使用apache common来上传文本字段类型文件,而对于获取输入字段文本,请使用此示例编码。

  for (FileItem item : formitem) {
      // proces only fields thats are not from fields
      String s1 = item.getFieldName();
      if(s1.equals("id")){
       String sid = item.getString();
       //System.out.println(sid);
       if(sid == null || sid.isEmpty()){

        id_data2 = sid;
       } else{
        id_data2 = sid.toString();
        id_data = Integer.parseInt(id_data2);
       }



      }if(s1.equals("name")){
       String sid = item.getString();
       //System.out.println(sid);
       String invoicenumber = sid;
       if(invoicenumber == null || invoicenumber.isEmpty()){
        multiple_invoice_model.setInvoice_number(333);
       }else{
        int id_invoice  = Integer.parseInt(invoicenumber);
        multiple_invoice_model.setInvoice_number(id_invoice);

       }
      }if(s1.equals("file")){
       String sid = item.getString();
       //System.out.println(sid);



      if (!item.isFormField()) {
       String filename = new File(new Date().getTime() + "_" + item.getName()).toString();
       File store_file = new File(uploaddir.toString(), filename);

       // save file on disk
       item.write(store_file);

       document_model document_model = new document_model();
       document_model.setNama_document(filename);
       document_model = multiple_invoice_dao.simpan_document(document_model);

       System.out.println("Id Document" + document_model.getId());

      }
     }
    }

   } catch (Exception e) {
    //request.setAttribute("message", "there has benn error :" + e.getMessage());
    e.printStackTrace();
   }