现在做的是下载到本地,
想做成不要下载,直接return流
public void Download(string ftpPath, string filePath, string fileName)
{
filePath = "D:\\迅雷下载\\";
fileName = "图片.jpg";
ftpPath = "ftp://192.168.1.10/Pictures/201684/20160804091003-955-(蓝京A12345)1-全景图.jpg";
string sRet = "下载成功!";
FtpWebRequest reqFTP;
try
{
FileStream outputStream = new FileStream(filePath + fileName, FileMode.Create);
// 根据uri创建FtpWebRequest对象
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpPath));
// 指定执行什么命令
reqFTP.Method = WebRequestMethods.Ftp.DownloadFile;
// 指定数据传输类型
reqFTP.UseBinary = true;
reqFTP.UsePassive = false;
// ftp用户名和密码
//reqFTP.Credentials = new NetworkCredential();
FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
// 把下载的文件写入流
Stream ftpStream = response.GetResponseStream();
long cl = response.ContentLength;
// 缓冲大小设置为2kb
int bufferSize = 2048;
int readCount;
byte[] buffer = new byte[bufferSize];
// 每次读文件流的2kb
readCount = ftpStream.Read(buffer, 0, bufferSize);
while (readCount > 0)
{
// 把内容从文件流写入
outputStream.Write(buffer, 0, readCount);
readCount = ftpStream.Read(buffer, 0, bufferSize);
}
//关闭两个流和ftp连接
ftpStream.Close();
outputStream.Close();
response.Close();
}
catch (Exception ex)
{
sRet = ex.Message;
}
}