试验FtpWebRequest的断点续传
来源:互联网 发布:php header导出excel 编辑:程序博客网 时间:2024/05/21 10:46
//下载文件的URI
Uri u =
new
Uri(
"ftp://localhost/test.txt"
);
//设定下载文件的保存路径
string
downFile =
"C:\\test.txt"
;
//FtpWebRequest的作成
System.Net.FtpWebRequest ftpReq = (System.Net.FtpWebRequest)
System.Net.WebRequest.Create(u);
//设定用户名和密码
ftpReq.Credentials =
new
System.Net.NetworkCredential(
"username"
,
"password"
);
//MethodにWebRequestMethods.Ftp.DownloadFile("RETR")设定
ftpReq.Method = System.Net.WebRequestMethods.Ftp.DownloadFile;
//要求终了后关闭连接
ftpReq.KeepAlive =
false
;
//使用ASCII方式传送
ftpReq.UseBinary =
false
;
//设定PASSIVE方式无效
ftpReq.UsePassive =
false
;
//判断是否继续下载
//继续写入下载文件的FileStream
System.IO.FileStream fs;
if
(System.IO.File.Exists(downFile))
{
//继续下载
ftpReq.ContentOffset = (
new
System.IO.FileInfo(downFile)).Length;
fs =
new
System.IO.FileStream(
downFile, System.IO.FileMode.Append, System.IO.FileAccess.Write);
}
else
{
//一般下载
fs =
new
System.IO.FileStream(
downFile, System.IO.FileMode.Create, System.IO.FileAccess.Write);
}
//取得FtpWebResponse
System.Net.FtpWebResponse ftpRes =
(System.Net.FtpWebResponse)ftpReq.GetResponse();
//为了下载文件取得Stream
System.IO.Stream resStrm = ftpRes.GetResponseStream();
//写入下载的数据
byte
[] buffer =
new
byte
[1024];
while
(
true
)
{
int
readSize = resStrm.Read(buffer, 0, buffer.Length);
if
(readSize == 0)
break
;
fs.Write(buffer, 0, readSize);
}
fs.Close();
resStrm.Close();
//表示从FTP服务器被送信的状态
Console.WriteLine(
"{0}: {1}"
, ftpRes.StatusCode, ftpRes.StatusDescription);
//关闭连接
ftpRes.Close();
- 试验FtpWebRequest的断点续传
- FtpWebRequest的常用操作
- FtpWebRequest的常用操作
- FtpWebRequest的常用操作
- 使用FtpWebRequest下载时出现的Bug
- C# 下 FtpWebRequest 类的一个小问题
- FtpWebRequest对象下载指定ftp服务器上的文件
- C# 中FtpWebRequest 类NetworkCredential多次连接认证的问题
- C# 中FtpWebRequest 类NetworkCredential多次连接认证的问题
- c# FTP的两种实现方法(一)-FtpWebRequest
- C# 下 FtpWebRequest 类的一个小问题
- FtpWebRequest 类
- 关于试验的思考
- 一个HttpClient的试验
- 小丁的试验
- 小丁的试验
- BGP的MED试验
- 事务的试验
- Game of Sum
- Electrovibration
- Ubuntu 12.04 安装ATI 显卡驱动 3D 立体桌面神贴现身
- 回文素数
- zoj1481
- 试验FtpWebRequest的断点续传
- 真正优秀的程序员有哪些与众不同之处?
- poj 1011
- 每日一题(10)——统计连续数字中1的个数
- Paradigm Shifts in Kernel Programming 内核编程的范式转移
- C++基本概念总结——虚函数和非虚函数
- 关于onTouchEvent
- 暴走漫画 Rage Comic
- 搜索的艺术——搜索引擎使用心得