zoukankan      html  css  js  c++  java
  • Make webclient support upload the large file which are larger than 1G

    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);
  • 相关阅读:
    Ajax跨域解决实例
    关于tween.js测试介绍
    signal() 和 sigaction()
    信号概述
    监控文件事件
    栈和栈帧
    进程结构和内存布局
    关于文件I/o的原子操作
    查询Linux系统中glibc的版本
    IOPS和Throughput
  • 原文地址:https://www.cnblogs.com/skyfei/p/2009122.html
Copyright © 2011-2022 走看看