• Webclient


    using System;
    using System.Collections.Generic;
    using System.Net;
    using System.Text;

    namespace ConsoleApp1
    {
    class Program
    {
    static void Main(string[] args)
    {
    TestWebclient testWebclient = new TestWebclient();
    testWebclient.WebClientUpload();
    //WebClientDownload();
    //WebClientUpload();
    //WebClientDelete();
    Console.ReadKey();
    }

    #region 下载
    /// <summary>
    /// 下载
    /// </summary>
    static void WebClientDownload()
    {
    WebClient webClient = new WebClient
    {
    Credentials = CredentialCache.DefaultCredentials
    };
    //Uri _uri = new Uri(@"http://localhost:8082/123.txt");
    Uri uri = new Uri(@"http://192.168.0.100:8082/123.txt");
    webClient.DownloadProgressChanged += WebClient_DownloadProgressChanged;
    webClient.DownloadFileCompleted += WebClient_DownloadFileCompleted;
    webClient.DownloadFileAsync(uri, @"D:download123.txt");
    }

    private static void WebClient_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
    {
    Console.WriteLine("下载完成...");
    }

    private static void WebClient_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
    {
    Console.WriteLine($"{e.ProgressPercentage}:{e.BytesReceived}/{e.TotalBytesToReceive}");
    }

    #endregion

    #region 上传

    /// <summary>
    /// 上传
    /// </summary>
    static void WebClientUpload()
    {
    WebClient webClient = new WebClient
    {
    Credentials = new NetworkCredential("test", "123")
    };
    Uri uri = new Uri(@"http://192.168.0.100:8082/456.xlsx");
    webClient.UploadProgressChanged += WebClient_UploadProgressChanged;
    webClient.UploadFileCompleted += WebClient_UploadFileCompleted;
    webClient.UploadFileAsync(uri, "PUT", @"D:download456.xlsx");
    }

    private static void WebClient_UploadFileCompleted(object sender, UploadFileCompletedEventArgs e)
    {
    Console.WriteLine("上传完成...");
    }

    private static void WebClient_UploadProgressChanged(object sender, UploadProgressChangedEventArgs e)
    {
    Console.WriteLine($"{e.ProgressPercentage}:{e.BytesSent}/{e.TotalBytesToSend}");
    }
    #endregion

    #region 删除
    /// <summary>
    /// 删除
    /// </summary>
    static void WebClientDelete()
    {
    WebClient webClient = new WebClient
    {
    Credentials = new NetworkCredential("test", "123")
    };
    Uri uri = new Uri(@"http://192.168.0.100:8082/456.xlsx");
    webClient.UploadDataCompleted += WebClient_UploadDataCompleted;
    webClient.UploadDataAsync(uri, "DELETE", new byte[0]);
    }

    private static void WebClient_UploadDataCompleted(object sender, UploadDataCompletedEventArgs e)
    {
    Console.WriteLine("已删除...");
    }
    #endregion
    }

    }

  • 相关阅读:
    Redis设计与实现第一部分:第5章:Redis 跳跃表
    根据临时表修改主表的某字段数据根据主表的主键
    Redis设计与实现第一部分:第2章:简单动态字符串SDS
    Redis
    MySQL的访问控制与用户管理
    MySQL字符集和语言的基础知识
    生成日志文件
    Python进阶09 动态类型
    Python进阶08 异常处理
    Python进阶07 函数对象
  • 原文地址:https://www.cnblogs.com/1175429393wljblog/p/11198523.html
Copyright © 2020-2023  润新知