代码如下:
public bool Download(string localfile, string remotfile) { FtpWebRequest reqFTP; try { FileStream outputStream = new FileStream(localfile, FileMode.Create); reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/" + remotfile)); reqFTP.Method = WebRequestMethods.Ftp.DownloadFile; reqFTP.UseBinary = true; reqFTP.KeepAlive = false; reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword); FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse(); Stream ftpStream = response.GetResponseStream(); long cl = response.ContentLength; int bufferSize = 4096; 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); } ftpStream.Close(); outputStream.Close(); response.Close(); return true; } catch { return false; } }现在问题是,当下载比较小的文件时没问题,当下载大文件时就报错。我试过用其他的下载工具下载文件正常。我在原来公司测试的时候大的视频文件也能下载。但是到了客户现场后。就只能下载小的100KB以下的文件。大的文件下载的时候都是0KB。请高手指点。
public bool Download(string localfile, string remotfile) { FtpWebRequest reqFTP; try { FileStream outputStream = new FileStream(localfile, FileMode.Create); reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/" + remotfile)); reqFTP.Method = WebRequestMethods.Ftp.DownloadFile; reqFTP.UseBinary = true; reqFTP.KeepAlive = false; reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword); FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse(); Stream ftpStream = response.GetResponseStream(); long cl = response.ContentLength; int bufferSize = 4096; 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); } ftpStream.Close(); outputStream.Close(); response.Close(); return true; } catch { return false; } }现在问题是,当下载比较小的文件时没问题,当下载大文件时就报错。我试过用其他的下载工具下载文件正常。我在原来公司测试的时候大的视频文件也能下载。但是到了客户现场后。就只能下载小的100KB以下的文件。大的文件下载的时候都是0KB。请高手指点。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货