C# 实现FTP上传,在上传过程中要手动停止上传以后再接着断点上传可以实现吗?
C# 实现FTP上传,在上传过程中要手动停止上传以后再接着断点上传可以实现吗? --------------------编程问答-------------------- 上传的断点续传不是每个服务器都有这个功能啊,难道FTP服务器也是自己做的? --------------------编程问答-------------------- 没有问题,你可以参照http://bingning.net/VB/SOURCE/index.html#internet这里,有详细的说明和代码。
--------------------编程问答-------------------- 我要的是上传断点续传,不是下载断点续传。。 --------------------编程问答-------------------- 诶诶,还是对IO流不咋了解哇。。- - 下载的看到很多了,上传的,一个都不清楚/kel
//下载文件的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();
补充:.NET技术 , C#