下面这段代码,在没有提交文件的时候,一切正常,但需要提交文件的时候,就无能为力了,请高手解答
           CookieContainer cookieContainer = new CookieContainer(); // 声明CookieContainer对象            // 登录网站
            HttpWebRequest loginHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
            loginHttpWebRequest.CookieContainer = cookieContainer; // 给HttpWebRequest指定CookieContainer            byte[] byteRequest = Encoding.Default.GetBytes(postData);
            loginHttpWebRequest.ContentType = contentType;
            loginHttpWebRequest.Referer = url;
            loginHttpWebRequest.Accept = accept;
            loginHttpWebRequest.UserAgent = userAgent;
            loginHttpWebRequest.Method = "POST";
            loginHttpWebRequest.ContentLength = byteRequest.Length;            Stream stream = loginHttpWebRequest.GetRequestStream();
            stream.Write(byteRequest, 0, byteRequest.Length);
            stream.Close();            //获得返回的数据
            HttpWebResponse httpWebResponse = (HttpWebResponse)loginHttpWebRequest.GetResponse();
            Stream responseStream = httpWebResponse.GetResponseStream();
            StreamReader streamReader = new StreamReader(responseStream, Encoding.Default);
            string html = streamReader.ReadToEnd();
            streamReader.Close();
            responseStream.Close();HTML代码如下:(把一些没用的都精简掉了)<form name="form1" id="form1"  action="http://www.aa.com/login.htm"  enctype="multipart/form-data" method="post">
<input type="text" name="username" id="user_username" value="" size="25" />
<input type="password" name="password" id="user_password" size="25" />
<input type="file" value="浏览.." size="50" name="uploadFile1" id="uploadFile1"/>
<input type="file" value="浏览.." size="50" name="uploadFile2" id="uploadFile2"/>
<input type="file" value="浏览.." size="50" name="uploadFile3" id="uploadFile3"/>
<input type="file" value="浏览.." size="50" name="uploadFile4" id="uploadFile4"/>
<input type="submit" name="sendButton" value="发送留言单" />
</form>照上面的HTML代码,我需要的是在WINFORM中,POST模拟提交
四个文件,可以一个也不选,也可以全选
谢谢

解决方案 »

  1.   

    添加encType=multipart/form-data
    String uriString = "";
    WebClient myWebClient = new WebClient();
    string fileName = @"C:\a.txt";
    byte[] responseArray = myWebClient.UploadFile(uriString,"POST",fileName);
    参考
      

  2.   

    to:wuyq11
    你的参考网址我看过,这种方法只能传文件,我同时还需要传几个参数过去,这种办法就无能为力了,
    而且,
     loginHttpWebRequest.CookieContainer = cookieContainer; 
    我这里需要验证cookie,webclient好象没有cookie,除非我重写个
    最主要还是需要文件和参数一起传不知道怎么搞
    不过还是多谢了
      

  3.   

    http://hi.baidu.com/yi2517/blog/item/9a4e31faae905b63034f56a3.html