大文件的处理

728 篇文章 1 订阅
38 篇文章 0 订阅

大文件的处理

let rec transforAsync (streamIn:Stream) (streamOut:Stream) buffer = async{
  let! lengthRead = streamIn.AsyncRead(buffer, 0, buffer.Length)
  if (lengthRead >0) then
    do! streamOut.AsyncWrite(buffer, 0, lengthRead)
    do! transforAsync streamIn streamOut buffer
}

let postHttpCookieAsync (url : string) (postData :string) (cookie : CookieContainer byref)=
    let data = Encoding.UTF8.GetBytes(postData)
    let req = WebRequest.Create( url ) :?> HttpWebRequest
    req.Timeout <- 6000000
    req.CookieContainer <- cookie
    req.Method <- "POST"
    req.ContentType <- "application/x-www-form-urlencoded"
    req.AllowAutoRedirect <- true
    req.KeepAlive <- true
    req.ServicePoint.ConnectionLimit <- 10
    use ss = req.GetRequestStream()
    ss.Write(data,0,data.Length)
    async{
        let! resp = req.AsyncGetResponse()
        use streamIn = resp.GetResponseStream()
        use streamOut = File.Create(t1, 1024*100, FileOptions.Asynchronous)
        let buffer = Array.zeroCreate(1024*10)
        do! transforAsync streamIn streamOut buffer
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值