使用C#WebClient類訪問(上傳/下載/刪除)由IIS搭建的http文件服務(wù)器

搭建IIS文件服務(wù)器

一、當(dāng)然,開始肯定沒有IIS,那該怎么辦?需要一個(gè)軟件環(huán)境進(jìn)行搭建,具體方法如下:
不啰嗦了 問度娘 O(∩_∩)O哈哈哈~

安裝完成之后,跟著走(一Windows server 2008 為例)

1
2
3
4
5
6
7
8
9
10
11
12
13如果剛開始沒有綁定ip的現(xiàn)在可以綁定

使用C#WebClient訪問IIS文件服務(wù)器

在使用WebClient類之前,必須先引用System.Net命名空間,文件下載、上傳與刪除的都是使用異步編程,也可以使用同步編程,
這里以異步編程為例:

/* 需要注意的是 路徑一定要寫全 尤其是服務(wù)器端的路徑 (帶文件名后綴的,一開始沒寫坑死了)*/

1)文件下載:

static void Main(string[] args)
        {
            //定義_webClient對(duì)象
            WebClient _webClient = new WebClient();
            //使用默認(rèn)的憑據(jù)——讀取的時(shí)候,只需默認(rèn)憑據(jù)就可以
            _webClient.Credentials = CredentialCache.DefaultCredentials;
            //下載的鏈接地址(文件服務(wù)器)
            Uri _uri = new Uri(@"http://192.168.1.103/test.doc");
            //注冊(cè)下載進(jìn)度事件通知
            _webClient.DownloadProgressChanged += _webClient_DownloadProgressChanged;
            //注冊(cè)下載完成事件通知
            _webClient.DownloadFileCompleted += _webClient_DownloadFileCompleted;
            //異步下載到D盤
            _webClient.DownloadFileAsync(_uri, @"D:\test.doc");
            Console.ReadKey();
        }

        //下載完成事件處理程序
        private static void _webClient_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
        {
            Console.WriteLine("Download Completed...");
        }

        //下載進(jìn)度事件處理程序
        private static void _webClient_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
        {
            Console.WriteLine($"{e.ProgressPercentage}:{e.BytesReceived}/{e.TotalBytesToReceive}");   
        }

2)文件上傳:

static void Main(string[] args)
        {
            //定義_webClient對(duì)象
            WebClient _webClient = new WebClient();
            //使用Windows登錄方式
            _webClient.Credentials = new NetworkCredential("test", "123");
            //上傳的鏈接地址(文件服務(wù)器)
            Uri _uri = new Uri(@"http://192.168.1.103/test.doc");
            //注冊(cè)上傳進(jìn)度事件通知
            _webClient.UploadProgressChanged += _webClient_UploadProgressChanged;
            //注冊(cè)上傳完成事件通知
            _webClient.UploadFileCompleted += _webClient_UploadFileCompleted;
            //異步從D盤上傳文件到服務(wù)器
            _webClient.UploadFileAsync(_uri,"PUT", @"D:\test.doc");
            Console.ReadKey();
        }
        //下載完成事件處理程序
        private static void _webClient_UploadFileCompleted(object sender, UploadFileCompletedEventArgs e)
        {
            Console.WriteLine("Upload Completed...");
        }

        //下載進(jìn)度事件處理程序
        private static void _webClient_UploadProgressChanged(object sender, UploadProgressChangedEventArgs e)
        {
            Console.WriteLine($"{e.ProgressPercentage}:{e.BytesSent}/{e.TotalBytesToSend}");
        }

3)文件刪除:

static void Main(string[] args)
        {
            //定義_webClient對(duì)象
            WebClient _webClient = new WebClient();
            //使用Windows登錄方式
            _webClient.Credentials = new NetworkCredential("test", "123");
            //待刪除的文件鏈接地址(文件服務(wù)器)
            Uri _uri = new Uri(@"http://192.168.1.103/test.doc");
            //注冊(cè)刪除完成時(shí)的事件(模擬刪除)
            _webClient.UploadDataCompleted += _webClient_UploadDataCompleted;
            //異步從文件(模擬)刪除文件
            _webClient.UploadDataAsync(_uri, "DELETE", new byte[0]);
            Console.ReadKey();
        }
        //刪除完成事件處理程序
        private static void _webClient_UploadDataCompleted(object sender, UploadDataCompletedEventArgs e)
        {
            Console.WriteLine("Deleted...");
        }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評(píng)論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,741評(píng)論 25 709
  • 轉(zhuǎn)自http://blog.csdn.net/xugangwen/article/details/44811783...
    扎Zn了老Fe閱讀 13,067評(píng)論 1 142
  • 發(fā)布會(huì)終于開始了,主持人很漂亮,口齒伶清晰,介紹大會(huì)的議程,以及來到的嘉賓、媒體等等!緊跟著就是這個(gè)“長”那...
    OO碰到OO閱讀 230評(píng)論 0 0
  • 呃…某一日無事,看到大神畫的畫,手癢癢,然后拿筆開始畫 畫的不好,細(xì)看有許多紕漏,還發(fā)出來紀(jì)念一下吧,畢竟耗費(fèi)了我...
    晴晴朗朗and云閱讀 896評(píng)論 2 4

友情鏈接更多精彩內(nèi)容