FileStream outputStream = new FileStream("d:" + "\\" + "0.rar", FileMode.Create);
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + "192.168.3.201" + "/" + "0.rar"));
reqFTP.Method = WebRequestMethods.Ftp.DownloadFile;
reqFTP.UseBinary = true;
reqFTP.Credentials = new NetworkCredential("zte", "zte");
FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
//ftpHoldTime = new System.Threading.Timer(DisconnectFtp, ipaddress, 0, Convert.ToInt32(((eventpointMessage)ob).FtpHoldTime));
Stream ftpStream = response.GetResponseStream();
long cl = response.ContentLength;
int bufferSize = 2048;
int readCount;
byte[] buffer = new byte[bufferSize];
readCount = ftpStream.Read(buffer, 0, bufferSize);
while (readCount > 0)
{
outputStream.Write(buffer, 0, readCount);
readCount = ftpStream.Read(buffer, 0, bufferSize);
}
//Channel4_2.listView3.Items[FtpNo - 1].SubItems[2].Text = "成功";
ftpStream.Close();
outputStream.Close();
response.Close();
5 个解决方案
#1
没人搭理? dingding l
#2
下载的内容大,当然时间长了。
有两个改进做法(同时):
1. 异步下载(异步读outputStream),或者至少将下载程序放到线程里。
2. 显示进度。例如将已经读取到的readCount 累计字节数动态显示出来。
你为什么不保存读取到的字节?玩的程序?
有两个改进做法(同时):
1. 异步下载(异步读outputStream),或者至少将下载程序放到线程里。
2. 显示进度。例如将已经读取到的readCount 累计字节数动态显示出来。
你为什么不保存读取到的字节?玩的程序?
#3
异步下载吧,这样不用管有多大需要多久。
#4
提倡异步策略。
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。
#5
目前也遇到这个问题咯。只是不知道2楼说的读取到字节怎么搞。呵呵。。新手。。
#1
没人搭理? dingding l
#2
下载的内容大,当然时间长了。
有两个改进做法(同时):
1. 异步下载(异步读outputStream),或者至少将下载程序放到线程里。
2. 显示进度。例如将已经读取到的readCount 累计字节数动态显示出来。
你为什么不保存读取到的字节?玩的程序?
有两个改进做法(同时):
1. 异步下载(异步读outputStream),或者至少将下载程序放到线程里。
2. 显示进度。例如将已经读取到的readCount 累计字节数动态显示出来。
你为什么不保存读取到的字节?玩的程序?
#3
异步下载吧,这样不用管有多大需要多久。
#4
提倡异步策略。
。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。
#5
目前也遇到这个问题咯。只是不知道2楼说的读取到字节怎么搞。呵呵。。新手。。