我需要基本的文件下載功能在我的應用程序,我不能使用WebClient.DownloadFile
[1]。這(天真?)實施DownloadFile
方法是否足夠?有沒有我沒有解決這個實施的陷阱?通過HTTP下載簡單文件 - 這是否足夠?
public static void DownloadFile(String url, String destination)
{
using (var request = (HttpWebRequest)WebRequest.Create(url))
{
request.Method = "GET";
request.Timeout = 100000; // 100 seconds
using (var response = request.GetResponse())
{
using (var responseStream = response.GetResponseStream())
{
using (var fileStream = File.Open(destination,
FileMode.Create,
FileAccess.Write,
FileShare.None))
{
var MaxBytesToRead = 10 * 1024;
var buffer = new Byte[MaxBytesToRead];
var totalBytesRead = 0;
var bytesRead = responseStream.Read(buffer,
0,
MaxBytesToRead);
while (bytesRead > 0)
{
totalBytesRead += bytesRead;
fileStream.Write(buffer, 0, bytesRead);
bytesRead = responseStream.Read(buffer,
0,
MaxBytesToRead);
}
}
}
}
}
}
謝謝!
[1] .NET Framework精簡...
'HttpWebRequest'是.Net CF中唯一支持的具體'WebRequest'實現。除此之外 - 謝謝! – 2010-11-03 09:16:54