国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#文件斷點續(xù)傳實現(xiàn)方法

2020-01-24 01:30:52
字體:
來源:轉載
供稿:網友

本文實例講述了C#文件斷點續(xù)傳實現(xiàn)方法。分享給大家供大家參考。具體實現(xiàn)方法如下:

/// <summary>/// 下載局域網文件/// </summary>/// <param name="path">文件路徑,如://192.168.10.1/app/app/123.zip</param>/// <param name="username">計算機名稱</param>/// <param name="password">計算機密碼</param>static void RequestWindowsShared(string path, string username, string password){ //文件總大小 int allBytesCount = 0; //每次傳輸大小 int byteTemp = 1024; //當前位置 int bytePosition = 0; //剩下大小 int remain = 0; System.Net.FileWebRequest request = null; System.Net.FileWebResponse response = null; System.IO.Stream stream = null; System.IO.FileStream fileStream = null; try {  Uri uri = new Uri(path);  request = (System.Net.FileWebRequest)System.Net.FileWebRequest.Create(uri);  System.Net.ICredentials ic = new System.Net.NetworkCredential(username, password);  request.Credentials = ic;  response = (System.Net.FileWebResponse)request.GetResponse();  stream = response.GetResponseStream();  byte[] bytes = new byte[stream.Length];  stream.Read(bytes, 0, bytes.Length);  string filename = System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "http://" + System.IO.Path.GetFileName(path);  fileStream = new FileStream(filename, System.IO.FileMode.Create, System.IO.FileAccess.Write, System.IO.FileShare.ReadWrite);  allBytesCount = bytes.Length;  remain = allBytesCount;  while (remain > 0)  {   fileStream.Write(bytes, bytePosition, byteTemp);   remain = remain - byteTemp;   bytePosition = bytePosition + byteTemp;   fileStream.Flush();   if (remain < byteTemp)    byteTemp = remain;  }  Console.WriteLine("下載成功!"); } catch (Exception ex) {  Console.WriteLine(ex.Message); } finally {  fileStream.Close();  fileStream.Dispose();  stream.Close();  stream.Dispose(); }}/// <summary>/// 上傳文件/// </summary>/// <param name="path">共享目錄路徑+文件名稱</param>/// <param name="local">本地路徑</param>/// <param name="username">用戶名</param>/// <param name="password">密碼</param>static void ResponseWindowsShared(string path, string local, string username, string password){ //文件總大小 int allBytesCount = 0; //每次傳輸大小 int byteTemp = 1024; //當前位置 int bytePosition = 0; //剩下大小 int remain = 0; System.Net.FileWebRequest request = null; System.IO.Stream stream = null; try {  //時間戳   string strBoundary = "----------" + DateTime.Now.Ticks.ToString("x");  Uri uri = new Uri(path);  byte[] bytes = System.IO.File.ReadAllBytes(local);  request = (System.Net.FileWebRequest)System.Net.FileWebRequest.Create(uri);  request.Method = "POST";  //設置獲得響應的超時時間(300秒)   request.Timeout = 300000;  request.ContentType = "multipart/form-data; boundary=" + strBoundary;  request.ContentLength = bytes.Length;  System.Net.ICredentials ic = new System.Net.NetworkCredential(username, password);  request.Credentials = ic;  stream = request.GetRequestStream();  allBytesCount = bytes.Length;  remain = allBytesCount;  while (remain > 0)  {   stream.Write(bytes, bytePosition, byteTemp);   remain = remain - byteTemp;   bytePosition = bytePosition + byteTemp;   stream.Flush();   if (remain < byteTemp)    byteTemp = remain;  }  Console.WriteLine("上傳成功!"); } catch (Exception ex) {  Console.WriteLine(ex.Message); } finally {  stream.Close();  stream.Dispose(); }}

希望本文所述對大家的C#程序設計有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 阳朔县| 兴义市| 康定县| 大城县| 吴川市| 大名县| 平利县| 且末县| 正定县| 中宁县| 漳州市| 股票| 黑水县| 睢宁县| 石屏县| 张家口市| 峡江县| 图木舒克市| 定安县| 鄂伦春自治旗| 西盟| 宝坻区| 永春县| 合川市| 罗田县| 临安市| 云林县| 同德县| 双柏县| 洞头县| 井研县| 丹棱县| 扎鲁特旗| 绥德县| 星子县| 凤凰县| 陇南市| 泸西县| 衢州市| 尼勒克县| 五大连池市|