File 通过HttpWebRequest或HttpClient上载大文件不会写入文件的全部内容
我正在尝试向mvc rest api发送一个大文件(大约40MB到50MB)的http post。 我能够使用REST客户端实现这一点,但在使用AddFile时,它总是添加不需要的起始文本和尾随文本 我后来尝试了HttpWebRequest和HttpClient,但它们都未能编写完整的文件流 我已经尝试了这个网站上的所有例子,但没有任何效果File 通过HttpWebRequest或HttpClient上载大文件不会写入文件的全部内容,file,httpwebrequest,httpclient,File,Httpwebrequest,Httpclient,我正在尝试向mvc rest api发送一个大文件(大约40MB到50MB)的http post。 我能够使用REST客户端实现这一点,但在使用AddFile时,它总是添加不需要的起始文本和尾随文本 我后来尝试了HttpWebRequest和HttpClient,但它们都未能编写完整的文件流 我已经尝试了这个网站上的所有例子,但没有任何效果 HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(requestUrl); wr
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;
}
不确定您的场景中问题的原因,但如果这有助于检查我在本文中的自我回答问题,以了解如何检查Web API post方法上发生的情况: