step1: reconstruct the WebClient class
public class MyWebClient : WebClient { protected override WebRequest GetWebRequest(Uri address) { HttpWebRequest request = base .GetWebRequest(address) as HttpWebRequest; request.Timeout = - 1 ; request.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.NoCacheNoStore); request.AllowWriteStreamBuffering = false ; return request; } }
Step2: use new WebClient as the WebClient
WebClient web = new MyWebClient(); web.UploadFileCompleted += new UploadFileCompletedEventHandler(web_UploadFileCompleted); web.UploadProgressChanged += new UploadProgressChangedEventHandler(web_UploadProgressChanged); FileInfo fi = new FileInfo( @" D:\VirtualBox VMs\VMxp\VMxp.vdi " ); Uri uri = new Uri( " http://127.0.0.1:9090/upload " ); web.UploadFileAsync(uri, fi.FullName);
转载于:https://www.cnblogs.com/skyfei/archive/2011/04/08/2009122.html
