Csharp 檔案下載程式

之前寫過利用Csharp的WebRequest來下載網頁的內容,這個範例下載的內容是文字內容,如果要下載binary二位元的檔案,就需要修改原本使用的StreamReader變成使用Stream,在之前的範例都有補上內容了,另外還針對deflate及Gzip網頁壓縮功能進行了支援。

這個範例裡使用了Thread來監控下載進度顯示於ProgressBar上。

CsharpProgressBar1




其中一個Thread負責下載檔案,一個Thread監控目前下載的總byte數/檔案大小,還有一個Thread負責invoke delegate委派的事件來調整ProgressBar數量。

CsharpProgressBar2

不過這個範例是利用header裡的Content-Length來取得檔案大小的,所以有時直接下載檔案時,主機並不會把Content-Length設定,所以程式就無法執行了,如果是自己的Web Server建議可以自己寫一隻程式來控制,先讀取檔案大小設定Content-Length後,再response出檔案。

CsharpProgressBar3

WebModule下載部份

Manager 檔案下載Manager主程式

Source原始碼下載

本機下載


0 comments on “Csharp 檔案下載程式

    1 Pings/Trackbacks 於 "Csharp 檔案下載程式"

    發表迴響