欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

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

C# 使用 FluentFTP 基礎

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

前言

FTP(File Transfer Protocol)是一種文件傳輸協議 ,用于網絡上進行文件傳輸與存儲空間。在編程中,我們需要從FTP服務器下載文件、查看、刪除或將本地文件上傳到服務器上?!?a target="_blank" textvalue="C# 實現FTP的上傳與下載操作" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);padding: 0px;outline: 0px;-webkit-user-drag: none;cursor: default;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important" _>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