Make webclient support upload the large file which are larger than 1G

it2022-05-09  15

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


最新回复(0)