FTP檔案操作之下載檔案

來源:互聯網
上載者:User

FTP檔案操作之上傳檔案

FTP檔案操作之下載檔案

FTP檔案操作之刪除檔案

FTP檔案操作之建立目錄

 

前面寫了採用ftp上傳檔案,有了上傳怎麼能夠沒有下載呢?如果只有上傳沒有下載,那上傳了也沒啥用了。所以今天就跟大家一起學習學習使用ftp下載檔案。

知道了怎麼上傳,那麼下載也就變得很簡單了,上傳是把檔案放到伺服器,而下載是把檔案從伺服器取過來。一個是從本地讀檔案,然後寫到伺服器;另一個是從伺服器讀檔案,然後寫到本地。基本原理就是這樣,下面我們看看具體的代碼:

        /// <summary>        /// FTP下載檔案        /// </summary>        /// <param name="userId">ftp使用者名稱</param>        /// <param name="pwd">ftp密碼</param>        /// <param name="ftpPath">ftp檔案路徑</param>        /// <param name="filePath">下載儲存路徑</param>        /// <param name="fileName">ftp檔案名稱</param>        /// <returns></returns>        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;        }  

 

以上代碼可以實現一個簡單的ftp下載的功能,只要在需要的地方調用此方法即可。代碼很簡單,功能很實用。

還有很多FTP的相關操作,以後會陸續跟大家分享,敬請期待!

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.