2013-05-31 27 views
1

我正在嘗試做一個http發佈一個大文件(大約40 MB到50MB)到mvc rest api。 我能夠使用RestSharp restclient實現此目的,但在使用AddFile時,它總是添加不需要的開始和結尾文本。通過HttpWebRequest或HttpClient上傳大文件,不寫入文件的全部內容

我後來嘗試HttpWebRequest和HttpClient,並且它們都無法寫入完整的文件流。

我已經嘗試了這個網站的所有例子,但沒有任何工作。

HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(requestUrl); 
     wr.ContentType = "application/octet-stream"; 
     wr.Method = "POST"; 
     wr.KeepAlive = true; 

     Stream rs = wr.GetRequestStream(); 
     FileStream fileStream = new FileStream(xmlConfigurationFilePath, FileMode.Open, FileAccess.Read); 
     byte[] buffer = new byte[1024]; 
     int bytesRead = 0; 
     while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0) 
     { 
      rs.Write(buffer, 0, bytesRead); 
     } 
     fileStream.Close(); 


     rs.Flush(); 

     WebResponse wresp = null; 
     try 
     { 
      wresp = wr.GetResponse(); 
      Stream stream2 = wresp.GetResponseStream(); 
      StreamReader reader2 = new StreamReader(stream2); 

     } 
     catch (Exception ex) 
     { 
      if (wresp != null) 
      { 
       wresp.Close(); 
       wresp = null; 
      } 
     } 
     finally 
     { 
      wr = null; 
     } 

回答