-1

このコードを使用してファイルをダウンロードしようとしますが、ファイル サイズが 0 KB です。ファイルをダウンロードする正しい効率的な方法は何ですか。

private void DownloadFile()
{
    using (WebClient Client = new WebClient())
    {
        Client.DownloadFileAsync(
            new Uri("http://localhost/sn/userSelect.Designer.cs", UriKind.Absolute),
            @"C:\xampp\htdocs\sn\test1.txt");
        Client.Dispose();
    }
}

C#のWindowsフォームプログラムでファイルをダウンロードする方法を教えてください。ありがとう

4

1 に答える 1

1
class Program
{
    private static WebClient wc = new WebClient();
    private static ManualResetEvent handle = new ManualResetEvent(true);
    private static void Main(string[] args)
    {

        wc.DownloadProgressChanged += WcOnDownloadProgressChanged;
        wc.DownloadFileCompleted += WcOnDownloadFileCompleted;
        wc.DownloadFileAsync(new Uri(@"http://www.nattyware.com/bin/pixie.exe"), @"C:\\pixie.exe");
        handle.WaitOne(); // wait for the async event to complete

    }

    private static void WcOnDownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
    {
        if (!e.Cancelled && e.Error == null)
        {
            //async download completed successfully
        }
        handle.Set(); // in both the case let the void main() know that async event had finished so that i can quit
    }

    private static void WcOnDownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
    {
        // handle the progres in case of async
        //e.ProgressPercentage
    }
于 2013-01-17T07:22:58.030 に答える