これは、サーバーからZIPファイルをダウンロードするためのC#コードです。ダウンロードしてもファイルが届きませんが、部分的にダウンロードされています。
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)を超えるファイルをダウンロードする場合です。
この方法は良くありません。
誰かがこの問題を解決する方法を教えてもらえますか?