LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網站管理員

C# 使用 FluentFTP 基礎

admin
2024年11月9日 15:42 本文熱度 1073

前言

FTP(File Transfer Protocol)是一種文件傳輸協(xié)議 ,用于網絡上進行文件傳輸與存儲空間。在編程中,我們需要從FTP服務器下載文件、查看、刪除或將本地文件上傳到服務器上。《C# 實現(xiàn)FTP的上傳與下載操作》介紹了使用 FtpWebRequest 實現(xiàn)方式。本文簡述 FluentFTP 動態(tài)庫基礎。

FluentFTP

1、概述

FluentFTP 是一個完全托管的FTP和FTPS客戶端動態(tài)庫,適用于.NET,優(yōu)化了速度。支持FTP和FTPS協(xié)議,提供了上傳、下載、刪除、重命名等操作。而且支持斷點續(xù)傳、異步、ASCII和二進制模式傳輸、代理服務器等。

2、附錄

https://github.com/robinrodricks/FluentFTP
3、使用要求
通過 NuGet 包管理器引用 FluentFTP 庫,或通過引用FluentFTP動態(tài)庫文件。
// 動態(tài)庫文件FluentFTP.dll
4、常用屬性
屬性描述
HostFTP 地址
Port端口,默認:21
Credentials認證信息,一般是用戶賬號和密碼
IsConnected是否已建立連接,已建立連接可能未認證
IsAuthenticated是否已認證,建立在IsConnected之上
Status狀態(tài)
Encoding編碼格式,一般采用UTF-8
IsEncrypted表示當前是否在Ftps協(xié)議下使用
ValidateCertificate證書驗證事件,一般采用Ftps會用到
Config配置對象
下表為 Config   常用的幾個配置

屬性描述
DataConnectionType設置連接方式,一般主動模式建議用AutoActive,被動模式建議用AutoPassive
UploadDataType上傳所使用的傳輸模式
DownloadDataType上傳所使用的傳輸模式
DownloadZeroByteFiles0字節(jié)的文件是否需要被下載
DownloadRateLimit下載速度限制,0表示不限制,單位kb
UploadRateLimit上傳速度限制,0表示不限制,單位kb
RetryAttempts當上傳或者下載失敗是,重新嘗試的次數
TimeZoneFtp服務器時區(qū),比如北京市UTC+8,所以寫8表示北京時間
LocalTimeZone本地時區(qū),格式同TimeZone
EncryptionMode加密模式,一般采用Ftps會用到
SslProtocols加密協(xié)議,一般采用Ftps會用到

5、常用方法

5.1、上傳方法

方法描述
UploadBytes上傳文件,文件格式是byte數組
UploadDirectory上傳整個本地目錄到服務器
UploadFile上傳文件,文件格式是本地文件路徑
UploadFiles上傳多個本地文件到服務器指定目錄
UploadStream上傳文件,文件格式是流

5.2、下載方法

方法描述
DownloadBytes下載文件,內容保存在指定的byte數組中
DownloadDirectory下載遠程目錄至本地指定目錄中
DownloadFile下載文件,并保存在指定文件中
DownloadFiles下載多個文件,并保存在指定目錄下
DownloadStream下載文件,內容保存在指定流中

5.3、目錄方法

方法描述
CreateDirectory創(chuàng)建目錄
DeleteDirectory刪除目錄(及文件、子目錄)
DirectoryExists判斷目錄是否已存在
GetListing獲取指定目錄(或者當前工作目錄)下的所有文件及子目錄
GetWorkingDirectory獲取當前的工作目錄
SetWorkingDirectory設置當前的工作目錄
IsRoot當前工作目錄是否是根目錄
MoveDirectory移動遠程目錄到指定位置
Rename重命名,建議使用MoveDirectory代替
EmptyDirectory清空指定目錄

5.4、其他方法

方法描述
AutoDetect自動發(fā)現(xiàn)FTP連接的設置并且返回這些連接的配置文件
AutoConnect自動發(fā)現(xiàn)FTP連接的設置并且使用第一個配置去連接服務器
Connect開始連接
Disconnect斷開連接

5.5、文件操作

方法描述
CompareFile本地與遠程文件進行比較,默認不會下載文件,直接比較文件大小和校驗hash散列值
DeleteFile刪除遠程文件
FileExists遠程文件是否存在
GetChecksum獲取遠程文件的校驗hash散列值
GetFileSize獲取遠程文件大小
MoveFile移動文件
Rename重命名文件,建議使用MoveFile代替

代碼示例

//同步模式FtpClient ftpClient = new FtpClient();// 端口ftpClient.Port = 21;// 地址ftpClient.Host = "127.0.0.1";// 認證信息,一般是用戶賬號和密碼ftpClient.Credentials = new System.Net.NetworkCredential("ftp", "ftp123456");//設置編碼ftpClient.Encoding = Encoding.UTF8;//Ftp被動模式ftpClient.Config.DataConnectionType = FtpDataConnectionType.AutoPassive;//開始連接ftpClient.Connect();//設置工作目錄ftpClient.SetWorkingDirectory("Picture");//上傳 ftpClient.UploadFile("ProductImage.jpg", "ProductImage.jpg");//下載ftpClient.DownloadFile("ProductImage.jpg""ProductImage.jpg");
 //  using (var fluentClient = new FtpClient("127.0.0.1")) {     // 認證信息     fluentClient.Credentials = new NetworkCredential("ftp", "ftp123456");     // 開始連接     fluentClient.Connect();     // 將文件保存到本地     using (var fileStream = File.OpenWrite(@"D:\20241005.mp4"))     {         // 下載文件,內容保存在指定流中         fluentClient.DownloadStream(fileStream, "/video/orders/20241005.mp4");     }     // 斷開連接     fluentClient.Disconnect(); }
// Fluent 40版本提供了一個異步類 AsyncFtpClient 可以實現(xiàn)異步模式操作
//異步模式var asyncClient = new AsyncFtpClient("127.0.0.1", "ftpuser", "ftp123456", 21);//設置編碼ftpClient.Encoding = Encoding.UTF8;//Ftp被動模式ftpClient.Config.DataConnectionType = FtpDataConnectionType.AutoPassive;//開始連接await ftpClient.Connect();//設置工作目錄await ftpClient.SetWorkingDirectory("video/orders");//下載await ftpClient.DownloadFile("20241005.mp4", "20241005.mp4");

小結

以上主要描述了FluentFTP 動態(tài)庫的基礎內容,了解 FluentFTP 常用屬性與方法,我們可以根據這些方法與屬性實現(xiàn) FTP 相關的操作。


該文章在 2024/11/11 19:25:10 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結合碼頭的業(yè)務特點,圍繞調度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
中文字幕乱码二区免费 | 亚洲v欧美v日韩v在线观看 | 亚洲色影视在线播放 | 在线a亚洲v天堂网 | 色色影院五月婷婷 | 亚洲综合精品第一页国产亚洲 |