FtpAccess
AtlasX.Engine.RemoteDirectory
class สำหรับเข้าถึงและจัดการไฟล์บน FTP server ผ่าน FluentFTP (Async)
Namespace: AtlasX.Engine.RemoteDirectory
Implements: IFtpAccess
Constructors
FtpAccess(String, String, String, String, Int32)
| Parameter | Type | Required | Description |
host | string | Required | ชื่อ host หรือ IP ของ FTP server |
rootPath | string | Required | Path หลักของ directory บน FTP server |
username | string | Optional | ชื่อผู้ใช้สำหรับ login ค่าเริ่มต้นคือ anonymous |
password | string | Optional | รหัสผ่านสำหรับ login ค่าเริ่มต้นคือ string ว่าง |
port | int | Optional | Port ของ FTP server ค่าเริ่มต้นคือ port21 |
Properties
| Name | Type | Description |
RootPath | string | Path หลักของ directory บน FTP server |
PathName | string | Sub-path ที่ต่อจาก RootPath |
DestinationPath | string | Path เต็มที่ใช้งานจริง ได้จากการรวม RootPath และ PathName |
Methods
| Name | Return | Description |
FileExistsAsync(String, CancellationToken) | bool | ตรวจสอบว่าไฟล์มีอยู่บน FTP server หรือไม่ |
SaveFileAsync(String, Byte[], CancellationToken) | void | อัปโหลดไฟล์ไปยัง FTP server |
GetFileAsync(String, CancellationToken) | Stream | ดาวน์โหลดไฟล์จาก FTP server และคืนเป็น Stream |
RemoveFileAsync(String, CancellationToken) | void | ลบไฟล์ออกจาก FTP server |
DirectoryExistsAsync(String, CancellationToken) | bool | ตรวจสอบการมีอยู่ของ directory บน FTP server |
CreateDirectoryAsync(String, CancellationToken) | void | สร้าง directory บน FTP server |
RemoveDirectoryAsync(String, CancellationToken) | void | ลบ directory ออกจาก FTP server |
GetHashFromPathAsync(String, HashAlgorithmType, CancellationToken) | string | คำนวณ hash ของไฟล์จาก path บน FTP server |
GetHashFromStreamAsync(Stream, HashAlgorithmType, CancellationToken) | string | คำนวณ hash ของไฟล์จาก Stream |
FileExtension(String, Boolean) | string | คืนค่านามสกุลไฟล์ |
DisposeAsync() | void | ตัดการเชื่อมต่อ FTP และคืน resources ทั้งหมด |
Methods Details
FileExistsAsync(String, CancellationToken)
ตรวจสอบว่าไฟล์มีอยู่บน FTP server หรือไม่
Returns: bool–true ถ้าไฟล์มีอยู่
| Parameter | Type | Required | Description |
fileName | string | Required | ชื่อไฟล์ที่ต้องการตรวจสอบ |
cancellationToken | CancellationToken | Optional | Token สำหรับยกเลิก operation |
SaveFileAsync(String, Byte[], CancellationToken)
อัปโหลดไฟล์ไปยัง DestinationPath บน FTP server โดยสร้าง directory อัตโนมัติถ้ายังไม่มี หรือหากมีไฟล์อยู่แล้วจะถูก overwrite
| Parameter | Type | Required | Description |
fileName | string | Required | ชื่อไฟล์ที่ต้องการบันทึก |
file | byte[] | Required | ข้อมูลไฟล์ในรูปแบบ byte array |
cancellationToken | CancellationToken | Optional | Token สำหรับยกเลิก operation |
GetFileAsync(String, CancellationToken)
ดาวน์โหลดไฟล์จาก FTP server และคืนเป็น Stream
Returns: Stream– stream ของไฟล์ที่ดาวน์โหลด
| Parameter | Type | Required | Description |
fileName | string | Required | ชื่อไฟล์ที่ต้องการดาวน์โหลด |
cancellationToken | CancellationToken | Optional | Token สำหรับยกเลิก operation |
RemoveFileAsync(String, CancellationToken)
ลบไฟล์ออกจาก FTP server
ถ้าไฟล์ไม่มีอยู่จะ skip โดยไม่เกิด exception
| Parameter | Type | Required | Description |
fileName | string | Required | ชื่อไฟล์ที่ต้องการลบ |
cancellationToken | CancellationToken | Optional | Token สำหรับยกเลิก operation |
FileExtension(String, Boolean)
คืนค่านามสกุลของไฟล์
| Parameter | Type | Required | Description |
fileName | string | Required | ชื่อไฟล์ |
excludeDot | bool | Optional | ถ้าเป็น true จะตัด . นำหน้าออก เช่น .pdf > pdf |
DirectoryExistsAsync(String, CancellationToken)
ตรวจสอบการมีอยู่ของ directory บน FTP server
Returns: bool–true ถ้า directory มีอยู่
| Parameter | Type | Required | Description |
directoryName | string? | Optional | ชื่อ sub-directory ถ้าไม่ระบุจะตรวจสอบที่ DestinationPath |
cancellationToken | CancellationToken | Optional | Token สำหรับยกเลิก operation |
CreateDirectoryAsync(String, CancellationToken)
สร้าง directory บน FTP server
| Parameter | Type | Required | Description |
directoryName | string? | Optional | ชื่อ sub-directory ถ้าไม่ระบุจะสร้างที่ DestinationPath |
cancellationToken | CancellationToken | Optional | Token สำหรับยกเลิก operation |
RemoveDirectoryAsync(String, CancellationToken)
ลบ directory และ contents ทั้งหมดภายในออกจาก FTP server
| Parameter | Type | Required | Description |
directoryName | string? | Optional | ชื่อ sub-directory ถ้าไม่ระบุจะลบที่ DestinationPath |
cancellationToken | CancellationToken | Optional | Token สำหรับยกเลิก operation |
GetHashFromPathAsync(String, HashAlgorithmType, CancellationToken)
คำนวณ hash ของไฟล์จาก path บน FTP server
Returns: string– hash string ในรูปแบบ uppercase hex
| Parameter | Type | Required | Description |
filePath | string | Required | Path ของไฟล์ที่ต้องการคำนวณ hash (อิงจาก DestinationPath) |
algorithmType | HashAlgorithmType | Optional | Algorithm ที่ใช้คำนวณ hash ค่าเริ่มต้นคือ SHA256 |
cancellationToken | CancellationToken | Optional | Token สำหรับยกเลิก operation |
GetHashFromStreamAsync(Stream, HashAlgorithmType, CancellationToken)
คำนวณ hash ของไฟล์จาก Stream
Returns: string– hash string ในรูปแบบ uppercase hex
Remarks: Stream ต้องรองรับ seek (CanSeek = true) เช่น MemoryStream, FileStream ถ้าเป็น NetworkStream หรือ GZipStream จะเกิด InvalidOperationException
| Parameter | Type | Required | Description |
stream | Stream | Required | Stream ของไฟล์ที่ต้องการคำนวณ hash ต้องรองรับ seek |
algorithmType | HashAlgorithmType | Optional | Algorithm ที่ใช้คำนวณ hash ค่าเริ่มต้นคือ SHA256 |
cancellationToken | CancellationToken | Optional | Token สำหรับยกเลิก operation |
DisposeAsync()
ตัดการเชื่อมต่อ FTP และคืน resources ทั้งหมด