|
在WinForm中通过HTTP协议向服务器端上传文件(22) /// <returns></returns> public string GetUrlEvents(string Url,long BufferSize) { StreamReader oHttpResponse = this.GetUrlStream(Url); if (oHttpResponse == null) return ""; long lnSize = BufferSize; if (this.oWebResponse.ContentLength > 0) lnSize = this.oWebResponse.ContentLength; else lnSize = 0; Encoding enc = Encoding.GetEncoding(1252); StringBuilder loWriter = new StringBuilder((int) lnSize); char[] lcTemp = new char[BufferSize]; OnReceiveDataEventArgs oArgs = new OnReceiveDataEventArgs(); oArgs.TotalBytes = lnSize; lnSize = 1; int lnCount = 0; long lnTotalBytes = 0; while (lnSize > 0) { lnSize = oHttpResponse.Read(lcTemp,0,(int) BufferSize); if (lnSize > 0) { loWriter.Append( lcTemp,0,(int) lnSize ); lnCount++; lnTotalBytes += lnSize; // *** Raise an event if hooked up if (this.OnReceiveData != null) { /// *** Update the event handler oArgs.CurrentByteCount = lnTotalBytes; oArgs.NumberOfReads = lnCount; oArgs.CurrentChunk = lcTemp; this.OnReceiveData(this,oArgs); // *** Check for cancelled flag
|