还是用multipart/form-data
<form action="Upload.jsp" method="post" enctype="multipart/form-data">
<input type="hidden" value="Hello, world" name="txtHello">
<input type="file" name="filename">
<input type="text" value="China" name="txtText">
<input type="submit" value="Upload">
</form>
提交的数据中间有分界符,可参看相关的RFC,如RFC2388

解决方案 »

  1.   

    楼主用jspSmartUpload这个lib吧,他可以从ENCTYPE="multipart/form-data"里得到文本域里传来的参数
      

  2.   

    ENCTYPE="multipart/form-data"可以得到文本
    ServletInputStream sis = request.getInputStream();
    byte[] b = new byte[1024];
    int a = 0;
    int k = 0;
    while( (a = sis.readLine(b,0,b.length)) != -1 ) {  //读取一行
        s = new String(b,0,a);
        if( (k = s.indexOf("name=\"") ) != -1 ) { //当前行中有提交的文本域
            String fieldName = s.substring(k+6,s.length()-3);//得到文本域的名称
            sis.readLine(b,0,b.length);
            StringBuffer fieldvalue = new StringBuffer(b.length);
            while((a=sis.readLine(b,0,b.length))!=-1) {
      s = new String(b,0,a-2);
      if(b[0]==45&&b[1]==45&&b[2]==45&&b[3]==45&&b[4]==45) {
           break;
      } else {
           fieldvalue.append(s);
               }
            }
        }
    }