C# ftp 下载文件

来源:互联网 发布:中性美,知乎 编辑:程序博客网 时间:2024/05/29 16:22
public string Download(string userId, string pwd, string ftpPath, string filePath, string fileName)        {            string sRet = "下载成功!";            FtpWebRequest reqFTP;            try            {                FileStream outputStream = new FileStream(filePath + fileName, FileMode.Create);                // 根据uri创建FtpWebRequest对象                     reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpPath + fileName));                // 指定执行什么命令                    reqFTP.Method = WebRequestMethods.Ftp.DownloadFile;                // 指定数据传输类型                    reqFTP.UseBinary = true;                reqFTP.UsePassive = false;                // ftp用户名和密码                    reqFTP.Credentials = new NetworkCredential(userId, pwd);                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;            }            //返回下载结果(是否下载成功)              return sRet;        }   

调用:

Download("ftpuserName", "ftpuserPass", @"ftp://192.168.1.12/", @"d://", "20140108.txt.rar");


0 0
原创粉丝点击