HTML的页面是这样的:<form action="upload.jsp" method="post" enctype="multipart/form-data">
  <table>
    <tr><td><input type="file" name="file"><input type="submit" value="upload"></td></tr>
  </table>
</form>如果我用HttpURLConnection手动构建请求包的话,关于这个file该怎么弄?!?不够分再给。。

解决方案 »

  1.   

    在网上查到的一个小例子
    function GE(a){return document.getElementById(a);}
    function Check(){
     if(GE('regid').value==''){GE('msg').innerHTML='ID不能为空';return false}
     if(GE('regpassword').value==''){GE('msg').innerHTML='password 不能为空';return false}
     var X=new ActiveXObject("Msxml2.XMLHTTP");
     if(X){
      GE('regsubmit').disabled=true;
      X.onreadystatechange=function(){
       if(X.readyState==4){
        if(X.status==200){
         eval(X.responseText)
        }
        else{GE('msg').innerHTML=X.statusText}
       }
       else{GE('msg').innerHTML="正在提交数据..."}
      };
      X.open('POST','reg.asp',true);
      X.setRequestHeader('Content-Type','application/x-www-form-urlencoded');  var SendData = 'regid='+GE('regid').value+'&regpassword='+GE('regpassword').value+'&file='+GE('f').value
      X.send(SendData) }
     else{
     GE('msg').innerHTML='你的浏览器不支持XMLHttpRequest'
     }
    }
    如果像你的代码,想获得file,你需要给他一个id,比如id='file',按照上例那么你只要用
    var SendData = GE('file').value;
    X.send(SendData);
    就可以了
      

  2.   

    我是想说用 HttpURLConnection 噢。。java里的HttpURLConnection
      

  3.   

    URL url=new URL("http://……");   
    HttpURLConnection httpurlconnection = null;   
    httpurlconnection = (HttpURLConnection)url.openConnection(); 其实这么做还是和直接用链接传值的那种效果一样,直接在页面上使用不知道怎么获得页面元素的值,如果你非得这样还是用AJAX吧,感觉好弄一点,不过你为什么非得这么传呢??直接表单传不也挺方便么