-
大小: 3KB文件類型: .cs金幣: 1下載: 0 次發(fā)布日期: 2021-05-24
- 語(yǔ)言: C#
- 標(biāo)簽:
資源簡(jiǎn)介
C#HttpWebRequest大文件斷點(diǎn)續(xù)傳類,簡(jiǎn)潔,清晰易懂,大家有空可以下載拿去研究
代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Text;
using?System.Net;
using?System.IO;
namespace?Thunder8
{
????public?class?HttpUploader
????{
????????const?long?partLength?=?1024?*?1024?*?100;
????????const?string?succuessFlag?=?“1“;
????????public?static?string?Upload(string?fileName?string?httpUrllong?seekPosition)
????????{
????????????string?result?=?string.Empty;
????????????FileStream?fs?=?File.OpenRead(fileName);
????????????HttpWebRequest?request?=?null;
????????????HttpWebResponse?response?=?null;
????????????Stream?requestStream?=?null;
????????????Stream?responseStream?=?null;
????????????try
????????????{
????????????????long?fileLength?=?fs.Length;
????????????????long?endPosition?=?seekPosition?+?partLength;
????????????????request?=?(HttpWebRequest)HttpWebRequest.Create(httpUrl);
????????????????request.Timeout?=?-1;
????????????????request.ContentType?=?“application/octet-stream“;
????????????????request.AddRange((int)seekPosition);
????????????????requestStream?=?request.GetRequestStream();
????????????????byte[]?buffer?=?new?byte[1024?*?10];
????????????????fs.Seek(seekPosition?SeekOrigin.Begin);
????????????????int?readLength?=?fs.Read(buffer?0?buffer.Length);
????????????????while?(seekPosition??0)
????????????????{
????????????????????requestStream.Write(buffer?0?readLength);
????????????????????requestStream.Flush();
????????????????????seekPosition?+=?readLength;
????????????????????readLength?=?fs.Read(buffer?0?buffer.Length);
????????????????}
????????????????response?=?(HttpWebResponse)request.GetResponse();
?
評(píng)論
共有 條評(píng)論