欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2015年08月22日 12:38:22   作者:我心依舊  
這篇文章主要介紹了C#文件斷點(diǎn)續(xù)傳實(shí)現(xiàn)方法,涉及C#文件傳輸?shù)募记?具有一定參考借鑒價(jià)值,需要的朋友可以參考下

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

/// <summary>
/// 下載局域網(wǎng)文件
/// </summary>
/// <param name="path">文件路徑,如:\\192.168.10.1\app\app\123.zip</param>
/// <param name="username">計(jì)算機(jī)名稱</param>
/// <param name="password">計(jì)算機(jī)密碼</param>
static void RequestWindowsShared(string path, string username, string password)
{
 //文件總大小
 int allBytesCount = 0;
 //每次傳輸大小
 int byteTemp = 1024;
 //當(dāng)前位置
 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) + "\\" + 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;
 //當(dāng)前位置
 int bytePosition = 0;
 //剩下大小
 int remain = 0;
 System.Net.FileWebRequest request = null;
 System.IO.Stream stream = null;
 try
 {
  //時(shí)間戳 
  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";
  //設(shè)置獲得響應(yīng)的超時(shí)時(shí)間(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();
 }
}

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • C# 字符串、數(shù)組和List的截取和轉(zhuǎn)換實(shí)例

    C# 字符串、數(shù)組和List的截取和轉(zhuǎn)換實(shí)例

    下面小編就為大家分享一篇C# 字符串、數(shù)組和List的截取和轉(zhuǎn)換實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • C#中使用資源的方法分析

    C#中使用資源的方法分析

    這篇文章主要介紹了C#中使用資源的方法,較為詳細(xì)的對(duì)比分析了C#中使用資源的幾種常用方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-12-12
  • C# 泛型的約束

    C# 泛型的約束

    本文將詳細(xì)介紹C# 泛型的約束:引用類型約束;值類型約束;構(gòu)造函數(shù)類型約束;轉(zhuǎn)換類型約束;組合約束的相關(guān)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • C# EF去除重復(fù)列DistinctBy方式

    C# EF去除重復(fù)列DistinctBy方式

    這篇文章主要介紹了C# EF去除重復(fù)列DistinctBy方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • C#面向?qū)ο缶幊讨欣锸咸鎿Q原則的示例詳解

    C#面向?qū)ο缶幊讨欣锸咸鎿Q原則的示例詳解

    在面向?qū)ο缶幊讨?,SOLID?是五個(gè)設(shè)計(jì)原則的首字母縮寫,旨在使軟件設(shè)計(jì)更易于理解、靈活和可維護(hù)。本文將通過(guò)實(shí)例詳細(xì)講講C#面向?qū)ο缶幊讨欣锸咸鎿Q原則,需要的可以參考一下
    2022-07-07
  • 京東聯(lián)盟C#接口測(cè)試示例分享

    京東聯(lián)盟C#接口測(cè)試示例分享

    這篇文章主要介紹了京東聯(lián)盟C#接口測(cè)試示例分享的相關(guān)資料,需要的朋友可以參考下
    2017-12-12
  • C#利用Random得隨機(jī)數(shù)求均值、方差、正態(tài)分布的方法

    C#利用Random得隨機(jī)數(shù)求均值、方差、正態(tài)分布的方法

    這篇文章主要介紹了C#利用Random得隨機(jī)數(shù)求均值、方差、正態(tài)分布的方法,涉及C#數(shù)學(xué)運(yùn)算及概率統(tǒng)計(jì)的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • 基于WPF實(shí)現(xiàn)IP輸入控件

    基于WPF實(shí)現(xiàn)IP輸入控件

    這篇文章主要介紹了如何基于WPF實(shí)現(xiàn)簡(jiǎn)單的IP輸入控件,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,需要的小伙伴可以參考一下
    2023-08-08
  • C#實(shí)現(xiàn)統(tǒng)計(jì)字?jǐn)?shù)功能的方法

    C#實(shí)現(xiàn)統(tǒng)計(jì)字?jǐn)?shù)功能的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)統(tǒng)計(jì)字?jǐn)?shù)功能的方法,較為詳細(xì)的分析了C#字?jǐn)?shù)統(tǒng)計(jì)功能的原理與實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-08-08
  • C#實(shí)現(xiàn)一個(gè)控制臺(tái)的點(diǎn)餐系統(tǒng)

    C#實(shí)現(xiàn)一個(gè)控制臺(tái)的點(diǎn)餐系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)一個(gè)控制臺(tái)的點(diǎn)餐系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11

最新評(píng)論