Java 多部分表单数据工作不正常

Java 多部分表单数据工作不正常,java,jsp,servlets,file-upload,multipart,Java,Jsp,Servlets,File Upload,Multipart,在我的JSP页面中,我有三个带有enctype=“multipart/formdata”的单独表单。在每一张表格上,我都上传了一个文件。 第一个表单是正确上传文件,类型为application/pdf。但是,其余两个表单以应用程序/八位字节流的形式上载文件。 代码如下所示 <div id="form1" class="category-form" style="display:none;"> <form id="form" action="Upload

在我的JSP页面中,我有三个带有enctype=“multipart/formdata”的单独表单。在每一张表格上,我都上传了一个文件。 第一个表单是正确上传文件,类型为application/pdf。但是,其余两个表单以应用程序/八位字节流的形式上载文件。 代码如下所示

    <div id="form1" class="category-form" style="display:none;">     
    <form id="form" action="UploadServlet?action=form1" method="post" class="pure-form pure-form-aligned" enctype="multipart/form-data">
      <div class="bottom fit" vertical layout>  
        <div style="margin-bottom: 1em">
           <input id="file" name="file" type="file" data-placeholder="Attach file" class="filestyle" data-buttonName="btn-info">    
       </div>

     </div>
    </form>
    </div>

         <div id="form2" class="category-form" style="display:none;">    
    <form id="form" action="UploadServlet?action=form2" method="post" class="pure-form pure-form-aligned" enctype="multipart/form-data">
      <div class="bottom fit" vertical layout>  
        <div style="margin-bottom: 1em">
           <input id="file" name="file" type="file" data-placeholder="Attach file" class="filestyle" data-buttonName="btn-info">    
       </div>

     </div>
    </form>
    </div>


         <div id="form3" class="category-form" style="display:none;">    
    <form id="form" action="UploadServlet?action=form3" method="post" class="pure-form pure-form-aligned" enctype="multipart/form-data">
      <div class="bottom fit" vertical layout>  
        <div style="margin-bottom: 1em">
           <input id="file" name="file" type="file" data-placeholder="Attach file" class="filestyle" data-buttonName="btn-info">    
       </div>

     </div>
    </form>
    </div>

可能是因为有3个表单id相同:
formid=“form”
。我不确定,但我几乎可以肯定它不起作用properly@Hugo感谢您的回复,我更改了表单id,但它仍然显示文件类型为application/octet stream,大小为0。我猜内容是通过Javascript/jquery发送的-如果是,请将该代码添加到您的问题中
input id=“file”
?也有三个。通常有很多相同id的元素使事情不起作用,顺便问一下,你为什么这样做?
           @MultipartConfig(maxFileSize = 16177215)
           public class UploadServlet extends HttpServlet 
            {

            private static final long serialVersionUID = 1L;
            @Override
            public void doGet(HttpServletRequest req, HttpServletResponse res) throws  ServletException, IOException {
    doPost(req, res);
    }

     @Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException 
{
            String action = request.getParameter("action");
            if(action.equals("form1"))
              {
                  Part filePart = request.getPart("file");

                    if (filePart != null) 
                     {
                         System.out.println("File Parts Not Null");
                         System.out.println(filePart.getName());
                         System.out.println(filePart.getSize());
                         System.out.println(filePart.getContentType());
                         System.out.println("File name is : "+filename);

                         inputStream = filePart.getInputStream();
                      }
                 }
                 if(action.equals("form2"))
              {
                  Part filePart = request.getPart("file");

                    if (filePart != null) 
                     {
                         System.out.println("File Parts Not Null");
                         System.out.println(filePart.getName());
                         System.out.println(filePart.getSize());
                         System.out.println(filePart.getContentType());
                         System.out.println("File name is : "+filename);

                         inputStream = filePart.getInputStream();
                      }
                 }