大家好, 我能够顺利的上传文件, 如果目前的页面只有1个INPUT, 也就是 <input type=file>
但我的表单上有多个input, 上传控件 file 可能出现在第3,4个, 如:<form name="regForm" action="confirmReg.jsp" method="post"  enctype="multipart/form-data">
<input type=text name=1>
<input type=radio name=2>
<input type=file name=myfile>
</form>显然想上传的文件的标头不再是4行, 我要怎么才能准确的拿到这个文件的开始点呢?->> Content-Disposition: form-data; name="myfile"; filename="Winter.jpg"

解决方案 »

  1.   

    用循环去遍历下就可以了   技巧:input 的name属性要有规律<form name="regForm" action="confirmReg.jsp" method="post"  enctype="multipart/form-data">
       <input type="file" name="myfile1">
       <input type="file" name="myfile2">
       <input type="file" name="myfile3">
       <input type="file" name="myfile4">
       <input type="file" name="myfile5">
    </form> 取值的时候用循环如:    for(int i=1;i<=5;i++)
        {
          if(request.getParameter("myfile"+i)!=null)
          {
             System.out.println("myfile"+i); //这里就可以拿到标头了。
          }
        }
      

  2.   


    <%@ page language="java" pageEncoding="GB2312"%>
    <style>
    *{ font-size:12px;}
    </style>
    <div id="file" >
                    <input type="file" name="file1">
                    <input name="提交" type="submit" value="上传头像">      
                    <input name="继续添加附件" type="button" value="继续添加附件" onclick="AddMore()">    
    </div>
    <script type="text/javascript">
            function AddMore(){
                var more = document.getElementById("file");
                var br = document.createElement("br");
                var input = document.createElement("input");
                var button = document.createElement("input");
                
                input.type = "file";
                input.name = "file";
                
                button.type = "button";
                button.value = "取消";
                
                more.appendChild(br);
                more.appendChild(input);
                more.appendChild(button);
                
                button.onclick = function(){
                    more.removeChild(br);
                    more.removeChild(input);
                    more.removeChild(button);
                }; 
            }
        </script>