91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C#文件下載(實現斷點續傳)

admin
2021年1月29日 21:58 本文熱度 3633
1 public class WebDown
2 {
4 /// 下載文件方法
6 /// 文件保存路徑和文件名
7 /// 返回服務器文件名
9 public static bool DeownloadFile(string sourceFile, string desFile)
10 {
11 bool flag = false;
12 long SPosition = 0;
13 FileStream FStream = null;
14 Stream myStream = null;
15 string fileName = sourceFile.Substring(sourceFile.LastIndexOf(@"/") + 1);
16 if (desFile.EndsWith("\\"))
17 {
18 desFile = desFile + fileName;
19 }
20 else
21 {
22 desFile = desFile + "\\" + fileName;
23 }
24 try
25 {
26 //判斷要下載的文件夾是否存在
27 if (File.Exists(desFile))
28 {
29 //打開上次下載的文件
30 FStream = File.OpenWrite(desFile);
31 //獲取已經下載的長度
32 SPosition = FStream.Length;
33 long serverFileLength = GetHttpLength(sourceFile);
34 if (SPosition == serverFileLength)
35 {//文件是完整的,直接結束下載任務
36 return true;
37 }
38 FStream.Seek(SPosition, SeekOrigin.Current);
39 }
40 else
41 {
42 //文件不保存創建一個文件
43 FStream = new FileStream(desFile, FileMode.Create);
44 SPosition = 0;
45 }
46 //打開網絡連接
47 HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create(sourceFile);
48 if (SPosition > 0)
49 {
50 myRequest.AddRange(SPosition);             //設置Range值
51 }
52 //向服務器請求,獲得服務器的回應數據流
53 myStream = myRequest.GetResponse().GetResponseStream();
54 //定義一個字節數據
55 byte[] btContent = new byte[512];
56 int intSize = 0;
57 intSize = myStream.Read(btContent, 0, 512);
58 while (intSize > 0)
59 {
60 FStream.Write(btContent, 0, intSize);
61 intSize = myStream.Read(btContent, 0, 512);
62 }
63 flag = true;        //返回true下載成功
64 }
65 catch (Exception ex)
66 {
67 SysLog.WriteTxtLog("下載文件時異常:" + ex.Message);
68 }
69 finally
70 {
71 //關閉流
72 if (myStream != null)
73 {
74 myStream.Close();
75 myStream.Dispose();
76 }
77 if (FStream != null)
78 {
79 FStream.Close();
80 FStream.Dispose();
81 }
82 }
83 return flag;
84 }
85 static long GetHttpLength(string url)
86 {
87 long length = 0;
88 try
89 {
90 var req = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));
91 req.Method = "HEAD";
92 req.Timeout = 5000;
93 var res = (HttpWebResponse)req.GetResponse();
94 if (res.StatusCode == HttpStatusCode.OK)
95 {
96 length = res.ContentLength;
97 }
98 res.Close();
99 return length;
100 }
101 catch (WebException wex)
102 {
103 return 0;
104 }
105 }
106 }

該文章在 2021/1/29 21:58:11 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国际b站免费视频入 | 日韩国产亚洲 | 国产日韩3在线观看 | 伦理片在线观看 | 国产ai精品| 欧美亚洲人成网 | 国产日韩在线精品 | 成人午夜爱看 | 中文字幕丰 | 国精品一区二区 | 乱码一二 | 精品国产精品国在线 | 午夜福利日韩在线 | 国产一区二区精品 | 爱豆传媒免费播放 | 日本三级日产三级国 | 狠狠做深爱婷婷久 | 韩国午夜理伦 | 精品国产自左线拍 | 国内综合网 | 区二区视频免费看 | 欧美曰韩 | 韩国日本香港三级 | 日韩国产 | 九九免费视频网站 | 日本成年视频操场 | 欧美日韩在线观看 | 国产乱子伦视频大全 | 国产精品一区二 | 91成人高清| 国产乱子伦在线观看 | 最新中文字幕一区 | 日本5级床片全免费 | 国产国拍亚洲精品m | 99精品热 | 国产华人永久免费 | 日韩欧美国产精品区 | 国产不卡2区 | 国产视频网站在线 | 精品国产自在现线看 | 午夜日韩福利在线 |