title: upload file on HTTP server using POST gives 0 for HttpFileCollection?
body: <p>I am trying to upload file on HTTP server using POST but when I call it gives </p>
  
  <p><strong>uploadFile.Count = 0</strong> amd does not go into if statement. File path is correct.</p>
  
  <p><strong>client code</strong> </p>
  
  <pre><code>    public partial class _Default : System.Web.UI.Page
      {
          protected void Page_Load(object sender, EventArgs e)
          {
              string fileToUpload = Server.MapPath("~/Files/Ricky_Martin_Livin_la.mp3");
              string uploadUrl = "http://localhost/soundcheck/uploadfiles.aspx";
              //string uploadUrl = "http://10.0.2.2/musicapp/handle_upload.php";
              FileStream rdr = new FileStream(fileToUpload, FileMode.Open);
              HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uploadUrl);
              req.Method = "POST"; // you might use "POST"
              req.ContentLength = rdr.Length;
              req.AllowWriteStreamBuffering = true;
  
              Stream reqStream = req.GetRequestStream();
  
              byte[] inData = new byte[rdr.Length];
  
              // Get data from upload file to inData 
              int bytesRead = rdr.Read(inData, 0, int.Parse(rdr.Length.ToString()));
  
              // put data into request stream
              reqStream.Write(inData, 0, int.Parse(rdr.Length.ToString()));
  
              rdr.Close();
              req.GetResponse();
  
              // after uploading close stream 
              reqStream.Close();
          }
      }
  </code></pre>
  
  <p><strong>Server code</strong></p>
  
  <pre><code>using System;
  using System.Collections;
  using System.IO;
  using System.Data;
  using System.Web;
  using System.Text;
  using System.Web.Security;
  
  public partial class uploadfiles : System.Web.UI.Page
  {
      protected void Page_Load(object sender, EventArgs e)
      {
          try
          {
              LogInFile("First");
              HttpFileCollection uploadFile = Request.Files;
              LogInFile("Second");
              LogInFile(uploadFile.Count.ToString());
              if (uploadFile.Count &gt; 0)
              {
                  HttpPostedFile postedFile = uploadFile[0];
                  LogInFile("Thrid");
                  System.IO.Stream inStream = postedFile.InputStream;
                  LogInFile("Forth");
                  byte[] fileData = new byte[postedFile.ContentLength];
                  LogInFile("Fifth");
                  inStream.Read(fileData, 0, postedFile.ContentLength);
                  LogInFile("Sixth");
                  postedFile.SaveAs(Server.MapPath("Data") + "\\" + postedFile.FileName);
              }        
          }
          catch (Exception ex)
          { 
              StringBuilder sb = new StringBuilder();
              sb.AppendLine("Message : " +ex.Message);
              sb.AppendLine("Source : " + ex.Source);
              sb.AppendLine("StackTrace : " + ex.StackTrace);
              sb.AppendLine("InnerException : " + ex.InnerException);
              sb.AppendLine("ToString : " + ex.ToString());
  
              LogInFile(sb.ToString());
          }
      }
      public void LogInFile(string str)
      {
          StringBuilder sb = new StringBuilder();
          using (StreamReader sr = new StreamReader(Server.MapPath("Data") + "\\expfile.txt"))
          {            
              sb.AppendLine("= = = = = =");
              sb.Append(sr.ReadToEnd());
              sb.AppendLine();
              sb.AppendLine();
          }
          sb.AppendLine(str);
          using (StreamWriter outfile = new StreamWriter(Server.MapPath("Data") + "\\expfile.txt"))
          {
              outfile.Write(sb.ToString());
          }
      }
  
  }
  </code></pre>
  
  <p>In server code I write these Logs to track if there is any error or error at which line.</p>
  
  <p>In Server code it gives  uploadFile.Count = 0 and does not go in 
  In Debug mode client code executes successfully but gives this message on page </p>
  
  <p>You can see from Server/Client code .. there is no DB involved. </p>
  
  <p><img src="https://i.stack.imgur.com/2dM7p.png" alt="enter image description here"></p>