あなたはAlternativlyしばらくの書き込みファイル
WebRequest request = WebRequest.Create(fileUri);
WebResponse response = request.GetResponse();
DownLoadFile(response, response.ContentLength);
private void DownLoadFile(HttpWebResponse response, long contentLength)
{
var respContentType = response.ContentType.ToUpper();
using (var fileStream = File.OpenWrite(fileName))
{
using (var responseStream = response.GetResponseStream())
{
var buffer = new byte[1024];
int bytesRead;
int offset = 0;
//Thread.Sleep(100);
while ((bytesRead = responseStream.Read(buffer, 0, buffer.Length)) != 0)
{
fileStream.Write(buffer, 0, bytesRead);
offset += bytesRead;
}
if (offset != response.ContentLength)
{
//return string.Format("Only downloaded {0} of {1} bytes", offset, response.ContentLength));
throw new ApplicationException(string.Format("Only downloaded {0} of {1} bytes",
offset, response.ContentLength));
}
}
}
}
をダウンロードするWebReponse
を使用することができますバイナリデータを読み取るためのループ
public void DownloadFile(Uri uri, string filePathToSave)
{
var downloadedData = webClient.DownloadData(uri);
while (downloadedData.Length == 0)
{
Thread.Sleep(2000);
downloadedData = webClient.DownloadData(uri);
}
Stream file = File.Open(filePathToSave, FileMode.Create);
file.Write(downloadedData, 0, downloadedData.Length);
file.Close();
}
これまで試みてきたコードを表示してください。 –
これは私が使用しているイベントです。 私はWPFを使用していますが、WebBrowserはSystem.Windows.Forms.WebBrowserです。 その理由は、私がダウンロードを制御できると思うからです。 ダウンロードが完了したら知りたい。 https://gist.github.com/iraskato/ae5347a2e7c5c550c6091dfbcf5d37bb – Iraskato
@Iraskato「一度にファイルをダウンロードする」とはどういう意味ですか?前回の終了前に新しいダウンロードを発行しないでください。 –