這是我的C#代碼從我的服務器下載ZIP文件。當我下載我沒有收到該文件,但它被部分下載。文件沒有完全下載
public static void Download(String strURLFileandPath, String strFileSaveFileandPath)
{
HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(strURLFileandPath);
HttpWebResponse ws = (HttpWebResponse)wr.GetResponse();
Stream str = ws.GetResponseStream();
byte[] inBuf = new byte[100000];
int bytesToRead = (int)inBuf.Length;
int bytesRead = 0;
while (bytesToRead > 0)
{
int n = str.Read(inBuf, bytesRead, bytesToRead);
if (n == 0)
break;
bytesRead += n;
bytesToRead -= n;
}
try
{
FileStream fstr = new FileStream(strFileSaveFileandPath, FileMode.OpenOrCreate, FileAccess.Write);
fstr.Write(inBuf, 0, bytesRead);
str.Close();
fstr.Close();
}
catch (Exception e) {
MessageBox.Show(e.Message);
}
}
我的事情的問題在這裏
byte[] inBuf = new byte[100000];
發生當我增加byte[] inBuf = new byte[100000];
價值byte[] inBuf = new byte[10000000];
該文件是完全下載。
但我的問題是,如果我下載大於50 MB的文件(例如:200 MB)。
這種方法不好。
誰能告訴我如何解決這個問題?
你的鍵盤似乎有同樣的問題。 :) – leppie 2012-07-27 12:06:47
不要你在他的文件大小,你的下載 – JohnnBlade 2012-07-27 12:09:54