日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

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

C# 使用 FluentFTP 基礎

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

前言

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

FluentFTP

1、概述

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

2、附錄

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

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

5、常用方法

5.1、上傳方法

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

5.2、下載方法

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

5.3、目錄方法

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

5.4、其他方法

方法描述
AutoDetect自動發現FTP連接的設置并且返回這些連接的配置文件
AutoConnect自動發現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 可以實現異步模式操作
//異步模式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 動態庫的基礎內容,了解 FluentFTP 常用屬性與方法,我們可以根據這些方法與屬性實現 FTP 相關的操作。


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

主站蜘蛛池模板: 色一情一乱一交一二三区 | 最近高清中文在线字幕在线观看 | 日韩欧洲区精品一区二区 | 欧美一区二区三区婷婷月色 | 永久免费91桃色福利 | 中文www新版资源在线天堂√ | 午夜视频在线观看国产 | 亚洲偷偷自拍高清 | 亚洲国产妇在线观看 | 欧美日韩亚洲国产精品 | 色拍自拍亚洲综合图区 | 国产精品1区2区 | 日本福利| 伊人网大 | 中文文字幕视频在线观看 | 日本三级网站网址 | 国产精品v欧美精品v日韩 | 99国产清国产精品国产 | 精品国产一区二区三区不卡 | 免费啪视频观试看视频 | 中文字幕免费高清电视剧网站 | 噼里啪啦免 | 中文字幕国产欧美 | 91大神在线观看精品一区 | 精品精品国产欧美在线观看 | 日本欧美视频在线观看三区 | 国产日本欧美一本在线观看 | 在线日韩日本国 | 中文区永久区乱码六区 | 国产色爽女免费视频 | 亚洲国产中日韩精品综合 | 永久免费国产成 | 亚洲精品成人一区二区www | 国产精品初高中精品免费观看 | 精品国偷自产 | 亚洲高清成人动 | 成版人抖音d2视 | 2025最新热门电视排行榜 | 绝对真实国产乱 | 手机看片日韩国产一区二区 | 最近更新中文字幕在线 |