我需要處理它之前以編程方式下載大文件。什麼是最好的方式來做到這一點?由於文件很大,我想要特定的時間等待,以便我可以強制退出。如何以編程方式下載大文件在C#中
我知道WebClient.DownloadFile的()。但似乎沒有辦法確定等待時間來強制退出。
try
{
WebClient client = new WebClient();
Uri uri = new Uri(inputFileUrl);
client.DownloadFile(uri, outputFile);
}
catch (Exception ex)
{
throw;
}
的另一種方法是使用命令行實用程序(wget的)要下載的文件,並觸發使用的ProcessStartInfo和使用過程WaitForExit命令(INT毫秒)強行退出。
ProcessStartInfo startInfo = new ProcessStartInfo();
//set startInfo object
try
{
using (Process exeProcess = Process.Start(startInfo))
{
//wait for time specified
exeProcess.WaitForExit(1000 * 60 * 60);//wait till 1m
//check if process has exited
if (!exeProcess.HasExited)
{
//kill process and throw ex
exeProcess.Kill();
throw new ApplicationException("Downloading timed out");
}
}
}
catch (Exception ex)
{
throw;
}
有沒有更好的方法?請幫忙。謝謝。
什麼是URI ?這是FTP嗎? – t0mm13b 2010-02-15 23:20:27