因此,我有一個asp.net應用程序,它在GET請求上寫入一個字節數組,並且我試圖在C#應用程序中接收該字節數組。但是當我嘗試下載它時,我似乎只收到了標題。 (totalBuff)從asp.net返回一個字節數組並從C#應用程序下載它
我不是最好的解釋,但我希望代碼能讓它更清晰。
ASP.NET代碼:
var resp = new HttpResponseMessage(HttpStatusCode.OK);
resp.Content = new StreamContent(new FileStream("D:\\Temp\\uLockStub.dll", FileMode.Open));
resp.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
return resp;
C#代碼:
var httpReq = (HttpWebRequest)
WebRequest.Create(string.Format("http://localhost:48976/login/login?user={0}&password={1}&hwid={2}",
username, Helper.GetMd5Hash(password), uid));
var resp = httpReq.GetResponse();
var data = resp.GetResponseStream();
var buff = new byte[1024];
var totalBuff = new List<byte>();
var read = 0;
while ((read = data.Read(buff, 0, buff.Length)) > 0)
{
var tmpBuff = new byte[read];
Buffer.BlockCopy(buff, 0, tmpBuff, 0, read);
totalBuff.AddRange(tmpBuff);
}
我在做什麼錯?
在此先感謝!
看看這篇文章http://www.codeproject.com/Articles/18034/HttpWebRequest-Response-in-a-Nutshell-Part-1 –
感謝您的答覆克拉克,但我找到了一個簡單的解決方案問題的ASP.NET方面。當替換「var resp = new HttpResponseMessage(HttpStatusCode.OK); - > return resp;」部分只有「Response.BinaryWrite(...)」,C#端收到了所有的數據。 – UbbeLoL
@ user2654057請將您的解決方案作爲您的問題的答案並接受,以便任何稍後發現此問題的人都能夠分辨出解決方案。 – Rafael