{"id":3828,"date":"2026-03-04T09:06:20","date_gmt":"2026-03-04T02:06:20","guid":{"rendered":"https:\/\/portal-atlasx.cdg.co.th\/home\/?post_type=docs&#038;p=3828"},"modified":"2026-03-04T15:50:59","modified_gmt":"2026-03-04T08:50:59","slug":"ftpaccess","status":"publish","type":"docs","link":"https:\/\/portal-atlasx.cdg.co.th\/home\/docs\/ax-engine\/remotedirectory\/ftpaccess\/","title":{"rendered":"FtpAccess"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" style=\"padding-top:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10)\">FtpAccess<\/h2>\n\n\n\n<p>AtlasX.Engine.RemoteDirectory<br>class \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e02\u0e49\u0e32\u0e16\u0e36\u0e07\u0e41\u0e25\u0e30\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e44\u0e1f\u0e25\u0e4c\u0e1a\u0e19 FTP server \u0e1c\u0e48\u0e32\u0e19 FluentFTP (Async)<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p style=\"border-top-left-radius:29px;border-top-right-radius:29px;border-bottom-left-radius:29px;border-bottom-right-radius:29px\">Namespace: AtlasX.Engine.RemoteDirectory<br>Implements: IFtpAccess<\/p>\n\n\n\n<p style=\"border-top-left-radius:29px;border-top-right-radius:29px;border-bottom-left-radius:29px;border-bottom-right-radius:29px\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"padding-top:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10)\"><strong>Constructors<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" style=\"padding-top:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10)\"><strong>FtpAccess(String, String, String, String, Int32)<\/strong><\/h4>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><strong>Parameter<\/strong><\/td><td><strong>Type<\/strong><\/td><td><strong>Required<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td><code>host<\/code><\/td><td><code>string<\/code><\/td><td>Required<\/td><td>\u0e0a\u0e37\u0e48\u0e2d host \u0e2b\u0e23\u0e37\u0e2d IP \u0e02\u0e2d\u0e07 FTP server<\/td><\/tr><tr><td><code>rootPath<\/code><\/td><td><code>string<\/code><\/td><td>Required<\/td><td>Path \u0e2b\u0e25\u0e31\u0e01\u0e02\u0e2d\u0e07 directory \u0e1a\u0e19 FTP server<\/td><\/tr><tr><td><code>username<\/code><\/td><td><code>string<\/code><\/td><td>Optional<\/td><td>\u0e0a\u0e37\u0e48\u0e2d\u0e1c\u0e39\u0e49\u0e43\u0e0a\u0e49\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a login \u0e04\u0e48\u0e32\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e04\u0e37\u0e2d&nbsp;<code>anonymous<\/code><\/td><\/tr><tr><td><code>password<\/code><\/td><td><code>string<\/code><\/td><td>Optional<\/td><td>\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a login \u0e04\u0e48\u0e32\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e04\u0e37\u0e2d string \u0e27\u0e48\u0e32\u0e07<\/td><\/tr><tr><td><code>port<\/code><\/td><td><code>int<\/code><\/td><td>Optional<\/td><td>Port \u0e02\u0e2d\u0e07 FTP server \u0e04\u0e48\u0e32\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e04\u0e37\u0e2d&nbsp;port<code>21<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"padding-top:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10)\"><strong>Properties<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><strong>Name<\/strong><\/td><td><strong>Type<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td><code>RootPath<\/code><\/td><td><code>string<\/code><\/td><td>Path \u0e2b\u0e25\u0e31\u0e01\u0e02\u0e2d\u0e07 directory \u0e1a\u0e19 FTP server<\/td><\/tr><tr><td><code>PathName<\/code><\/td><td><code>string<\/code><\/td><td>Sub-path \u0e17\u0e35\u0e48\u0e15\u0e48\u0e2d\u0e08\u0e32\u0e01 RootPath<\/td><\/tr><tr><td><code>DestinationPath<\/code><\/td><td><code>string<\/code><\/td><td>Path \u0e40\u0e15\u0e47\u0e21\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e08\u0e23\u0e34\u0e07 \u0e44\u0e14\u0e49\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e23\u0e27\u0e21 RootPath \u0e41\u0e25\u0e30 PathName<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading is-style-default\" style=\"padding-top:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10)\"><strong>Methods<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><strong>Name<\/strong><\/td><td><strong>Return<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td><code>FileExistsAsync(String, CancellationToken)<\/code><\/td><td><code>bool<\/code><\/td><td>\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e27\u0e48\u0e32\u0e44\u0e1f\u0e25\u0e4c\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e19 FTP server \u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48<\/td><\/tr><tr><td><code>SaveFileAsync(String, Byte[], CancellationToken)<\/code><\/td><td><code>void<\/code><\/td><td>\u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14\u0e44\u0e1f\u0e25\u0e4c\u0e44\u0e1b\u0e22\u0e31\u0e07 FTP server<\/td><\/tr><tr><td><code>GetFileAsync(String, CancellationToken)<\/code><\/td><td><code>Stream<\/code><\/td><td>\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e42\u0e2b\u0e25\u0e14\u0e44\u0e1f\u0e25\u0e4c\u0e08\u0e32\u0e01 FTP server \u0e41\u0e25\u0e30\u0e04\u0e37\u0e19\u0e40\u0e1b\u0e47\u0e19 Stream<\/td><\/tr><tr><td><code>RemoveFileAsync(String, CancellationToken)<\/code><\/td><td><code>void<\/code><\/td><td>\u0e25\u0e1a\u0e44\u0e1f\u0e25\u0e4c\u0e2d\u0e2d\u0e01\u0e08\u0e32\u0e01 FTP server<\/td><\/tr><tr><td><code>DirectoryExistsAsync(String, CancellationToken)<\/code><\/td><td><code>bool<\/code><\/td><td>\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e01\u0e32\u0e23\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e02\u0e2d\u0e07 directory \u0e1a\u0e19 FTP server<\/td><\/tr><tr><td><code>CreateDirectoryAsync(String, CancellationToken)<\/code><\/td><td><code>void<\/code><\/td><td>\u0e2a\u0e23\u0e49\u0e32\u0e07 directory \u0e1a\u0e19 FTP server<\/td><\/tr><tr><td><code>RemoveDirectoryAsync(String, CancellationToken)<\/code><\/td><td><code>void<\/code><\/td><td>\u0e25\u0e1a directory \u0e2d\u0e2d\u0e01\u0e08\u0e32\u0e01 FTP server<\/td><\/tr><tr><td><code>GetHashFromPathAsync(String, HashAlgorithmType, CancellationToken)<\/code><\/td><td><code>string<\/code><\/td><td>\u0e04\u0e33\u0e19\u0e27\u0e13 hash \u0e02\u0e2d\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e08\u0e32\u0e01 path \u0e1a\u0e19 FTP server<\/td><\/tr><tr><td><code>GetHashFromStreamAsync(Stream, HashAlgorithmType, CancellationToken)<\/code><\/td><td><code>string<\/code><\/td><td>\u0e04\u0e33\u0e19\u0e27\u0e13 hash \u0e02\u0e2d\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e08\u0e32\u0e01 Stream<\/td><\/tr><tr><td><code>FileExtension(String, Boolean)<\/code><\/td><td><code>string<\/code><\/td><td>\u0e04\u0e37\u0e19\u0e04\u0e48\u0e32\u0e19\u0e32\u0e21\u0e2a\u0e01\u0e38\u0e25\u0e44\u0e1f\u0e25\u0e4c<\/td><\/tr><tr><td><code>DisposeAsync()<\/code><\/td><td><code>void<\/code><\/td><td>\u0e15\u0e31\u0e14\u0e01\u0e32\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d FTP \u0e41\u0e25\u0e30\u0e04\u0e37\u0e19 resources \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading is-style-default\" style=\"padding-top:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10)\"><strong>Methods<\/strong> <strong>Details<\/strong><\/h3>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h4 class=\"wp-block-heading\" style=\"padding-top:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10)\"><strong>FileExistsAsync(String, CancellationToken)<\/strong><\/h4>\n\n\n\n<p>\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e27\u0e48\u0e32\u0e44\u0e1f\u0e25\u0e4c\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e19 FTP server \u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48<\/p>\n\n\n\n<p><strong>Returns:<\/strong>&nbsp;<code>bool<\/code>&#8211;<code>true<\/code>&nbsp;\u0e16\u0e49\u0e32\u0e44\u0e1f\u0e25\u0e4c\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48<br><\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><strong>Parameter<\/strong><\/td><td><strong>Type<\/strong><\/td><td><strong>Required<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td><code>fileName<\/code><\/td><td><code>string<\/code><\/td><td>Required<\/td><td>\u0e0a\u0e37\u0e48\u0e2d\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a<\/td><\/tr><tr><td><code>cancellationToken<\/code><\/td><td><code>CancellationToken<\/code><\/td><td>Optional<\/td><td>Token \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01 operation<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h4 class=\"wp-block-heading\" style=\"padding-top:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10)\"><strong>SaveFileAsync(String, Byte[], CancellationToken)<\/strong><\/h4>\n\n\n\n<p>\u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14\u0e44\u0e1f\u0e25\u0e4c\u0e44\u0e1b\u0e22\u0e31\u0e07 DestinationPath \u0e1a\u0e19 FTP server \u0e42\u0e14\u0e22\u0e2a\u0e23\u0e49\u0e32\u0e07 directory \u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e16\u0e49\u0e32\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e21\u0e35 \u0e2b\u0e23\u0e37\u0e2d\u0e2b\u0e32\u0e01\u0e21\u0e35\u0e44\u0e1f\u0e25\u0e4c\u0e2d\u0e22\u0e39\u0e48\u0e41\u0e25\u0e49\u0e27\u0e08\u0e30\u0e16\u0e39\u0e01 overwrite<br><\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><strong>Parameter<\/strong><\/td><td><strong>Type<\/strong><\/td><td><strong>Required<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td><code>fileName<\/code><\/td><td><code>string<\/code><\/td><td>Required<\/td><td>\u0e0a\u0e37\u0e48\u0e2d\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01<\/td><\/tr><tr><td><code>file<\/code><\/td><td><code>byte[]<\/code><\/td><td>Required<\/td><td>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e44\u0e1f\u0e25\u0e4c\u0e43\u0e19\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a byte array<\/td><\/tr><tr><td><code>cancellationToken<\/code><\/td><td><code>CancellationToken<\/code><\/td><td>Optional<\/td><td>Token \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01 operation<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h4 class=\"wp-block-heading\" style=\"padding-top:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10)\"><strong>GetFileAsync(String, CancellationToken)<\/strong><\/h4>\n\n\n\n<p>\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e42\u0e2b\u0e25\u0e14\u0e44\u0e1f\u0e25\u0e4c\u0e08\u0e32\u0e01 FTP server \u0e41\u0e25\u0e30\u0e04\u0e37\u0e19\u0e40\u0e1b\u0e47\u0e19 Stream<\/p>\n\n\n\n<p><strong>Returns:<\/strong>&nbsp;<code>Stream<\/code>&#8211; stream \u0e02\u0e2d\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e42\u0e2b\u0e25\u0e14<br><\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><strong>Parameter<\/strong><\/td><td><strong>Type<\/strong><\/td><td><strong>Required<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td><code>fileName<\/code><\/td><td><code>string<\/code><\/td><td>Required<\/td><td>\u0e0a\u0e37\u0e48\u0e2d\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e42\u0e2b\u0e25\u0e14<\/td><\/tr><tr><td><code>cancellationToken<\/code><\/td><td><code>CancellationToken<\/code><\/td><td>Optional<\/td><td>Token \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01 operation<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h4 class=\"wp-block-heading\" style=\"padding-top:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10)\"><strong>RemoveFileAsync(String, CancellationToken)<\/strong><\/h4>\n\n\n\n<p>\u0e25\u0e1a\u0e44\u0e1f\u0e25\u0e4c\u0e2d\u0e2d\u0e01\u0e08\u0e32\u0e01 FTP server<br>\u0e16\u0e49\u0e32\u0e44\u0e1f\u0e25\u0e4c\u0e44\u0e21\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e08\u0e30 skip \u0e42\u0e14\u0e22\u0e44\u0e21\u0e48\u0e40\u0e01\u0e34\u0e14 exception<br><\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><strong>Parameter<\/strong><\/td><td><strong>Type<\/strong><\/td><td><strong>Required<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td><code>fileName<\/code><\/td><td><code>string<\/code><\/td><td>Required<\/td><td>\u0e0a\u0e37\u0e48\u0e2d\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e25\u0e1a<\/td><\/tr><tr><td><code>cancellationToken<\/code><\/td><td><code>CancellationToken<\/code><\/td><td>Optional<\/td><td>Token \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01 operation<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h4 class=\"wp-block-heading\" style=\"padding-top:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10)\"><strong>FileExtension(String, Boolean)<\/strong><\/h4>\n\n\n\n<p>\u0e04\u0e37\u0e19\u0e04\u0e48\u0e32\u0e19\u0e32\u0e21\u0e2a\u0e01\u0e38\u0e25\u0e02\u0e2d\u0e07\u0e44\u0e1f\u0e25\u0e4c<br><\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><strong>Parameter<\/strong><\/td><td><strong>Type<\/strong><\/td><td><strong>Required<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td><code>fileName<\/code><\/td><td><code>string<\/code><\/td><td>Required<\/td><td>\u0e0a\u0e37\u0e48\u0e2d\u0e44\u0e1f\u0e25\u0e4c<\/td><\/tr><tr><td><code>excludeDot<\/code><\/td><td><code>bool<\/code><\/td><td>Optional<\/td><td>\u0e16\u0e49\u0e32\u0e40\u0e1b\u0e47\u0e19&nbsp;<code>true<\/code>&nbsp;\u0e08\u0e30\u0e15\u0e31\u0e14&nbsp;<code>.<\/code>&nbsp;\u0e19\u0e33\u0e2b\u0e19\u0e49\u0e32\u0e2d\u0e2d\u0e01 \u0e40\u0e0a\u0e48\u0e19&nbsp;<code>.pdf<\/code>&nbsp;&gt;&nbsp;<code>pdf<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h4 class=\"wp-block-heading\" style=\"padding-top:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10)\"><strong>DirectoryExistsAsync(String, CancellationToken)<\/strong><\/h4>\n\n\n\n<p>\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e01\u0e32\u0e23\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e02\u0e2d\u0e07 directory \u0e1a\u0e19 FTP server<br><strong>Returns:<\/strong>&nbsp;<code>bool<\/code>&#8211;<code>true<\/code>&nbsp;\u0e16\u0e49\u0e32 directory \u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48<br><\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><strong>Parameter<\/strong><\/td><td><strong>Type<\/strong><\/td><td><strong>Required<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td><code>directoryName<\/code><\/td><td><code>string?<\/code><\/td><td>Optional<\/td><td>\u0e0a\u0e37\u0e48\u0e2d sub-directory \u0e16\u0e49\u0e32\u0e44\u0e21\u0e48\u0e23\u0e30\u0e1a\u0e38\u0e08\u0e30\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e17\u0e35\u0e48 DestinationPath<\/td><\/tr><tr><td><code>cancellationToken<\/code><\/td><td><code>CancellationToken<\/code><\/td><td>Optional<\/td><td>Token \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01 operation<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h4 class=\"wp-block-heading\" style=\"padding-top:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10)\"><strong>CreateDirectoryAsync(String, CancellationToken)<\/strong><\/h4>\n\n\n\n<p>\u0e2a\u0e23\u0e49\u0e32\u0e07 directory \u0e1a\u0e19 FTP server<br><\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><strong>Parameter<\/strong><\/td><td><strong>Type<\/strong><\/td><td><strong>Required<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td><code>directoryName<\/code><\/td><td><code>string?<\/code><\/td><td>Optional<\/td><td>\u0e0a\u0e37\u0e48\u0e2d sub-directory \u0e16\u0e49\u0e32\u0e44\u0e21\u0e48\u0e23\u0e30\u0e1a\u0e38\u0e08\u0e30\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e17\u0e35\u0e48 DestinationPath<\/td><\/tr><tr><td><code>cancellationToken<\/code><\/td><td><code>CancellationToken<\/code><\/td><td>Optional<\/td><td>Token \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01 operation<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h4 class=\"wp-block-heading\" style=\"padding-top:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10)\"><strong>RemoveDirectoryAsync(String, CancellationToken)<\/strong><\/h4>\n\n\n\n<p>\u0e25\u0e1a directory \u0e41\u0e25\u0e30 contents \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e20\u0e32\u0e22\u0e43\u0e19\u0e2d\u0e2d\u0e01\u0e08\u0e32\u0e01 FTP server<br><\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><strong>Parameter<\/strong><\/td><td><strong>Type<\/strong><\/td><td><strong>Required<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td><code>directoryName<\/code><\/td><td><code>string?<\/code><\/td><td>Optional<\/td><td>\u0e0a\u0e37\u0e48\u0e2d sub-directory \u0e16\u0e49\u0e32\u0e44\u0e21\u0e48\u0e23\u0e30\u0e1a\u0e38\u0e08\u0e30\u0e25\u0e1a\u0e17\u0e35\u0e48 DestinationPath<\/td><\/tr><tr><td><code>cancellationToken<\/code><\/td><td><code>CancellationToken<\/code><\/td><td>Optional<\/td><td>Token \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01 operation<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h4 class=\"wp-block-heading\" style=\"padding-top:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10)\"><strong>GetHashFromPathAsync(String, HashAlgorithmType, CancellationToken)<\/strong><\/h4>\n\n\n\n<p>\u0e04\u0e33\u0e19\u0e27\u0e13 hash \u0e02\u0e2d\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e08\u0e32\u0e01 path \u0e1a\u0e19 FTP server<br><strong>Returns:<\/strong>&nbsp;<code>string<\/code>&#8211; hash string \u0e43\u0e19\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a uppercase hex<br><\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><strong>Parameter<\/strong><\/td><td><strong>Type<\/strong><\/td><td><strong>Required<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td><code>filePath<\/code><\/td><td><code>string<\/code><\/td><td>Required<\/td><td>Path \u0e02\u0e2d\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e04\u0e33\u0e19\u0e27\u0e13 hash (\u0e2d\u0e34\u0e07\u0e08\u0e32\u0e01 DestinationPath)<\/td><\/tr><tr><td><code>algorithmType<\/code><\/td><td><code>HashAlgorithmType<\/code><\/td><td>Optional<\/td><td>Algorithm \u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e19\u0e27\u0e13 hash \u0e04\u0e48\u0e32\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e04\u0e37\u0e2d&nbsp;<code>SHA256<\/code><\/td><\/tr><tr><td><code>cancellationToken<\/code><\/td><td><code>CancellationToken<\/code><\/td><td>Optional<\/td><td>Token \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01 operation<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<h4 class=\"wp-block-heading\" style=\"padding-top:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10)\"><strong>GetHashFromStreamAsync(Stream, HashAlgorithmType, CancellationToken)<\/strong><\/h4>\n\n\n\n<p>\u0e04\u0e33\u0e19\u0e27\u0e13 hash \u0e02\u0e2d\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e08\u0e32\u0e01 Stream<br><strong>Returns:<\/strong>&nbsp;<code>string<\/code>&#8211; hash string \u0e43\u0e19\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a uppercase hex<br><strong>Remarks:<\/strong>&nbsp;Stream \u0e15\u0e49\u0e2d\u0e07\u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a seek (<code>CanSeek = true<\/code>) \u0e40\u0e0a\u0e48\u0e19&nbsp;<code>MemoryStream<\/code>,&nbsp;<code>FileStream<\/code>&nbsp;\u0e16\u0e49\u0e32\u0e40\u0e1b\u0e47\u0e19&nbsp;<code>NetworkStream<\/code>&nbsp;\u0e2b\u0e23\u0e37\u0e2d&nbsp;<code>GZipStream<\/code>&nbsp;\u0e08\u0e30\u0e40\u0e01\u0e34\u0e14&nbsp;<code>InvalidOperationException<\/code><br><\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><strong>Parameter<\/strong><\/td><td><strong>Type<\/strong><\/td><td><strong>Required<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td><code>stream<\/code><\/td><td><code>Stream<\/code><\/td><td>Required<\/td><td>Stream \u0e02\u0e2d\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e04\u0e33\u0e19\u0e27\u0e13 hash \u0e15\u0e49\u0e2d\u0e07\u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a seek<\/td><\/tr><tr><td><code>algorithmType<\/code><\/td><td><code>HashAlgorithmType<\/code><\/td><td>Optional<\/td><td>Algorithm \u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e19\u0e27\u0e13 hash \u0e04\u0e48\u0e32\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e04\u0e37\u0e2d&nbsp;<code>SHA256<\/code><\/td><\/tr><tr><td><code>cancellationToken<\/code><\/td><td><code>CancellationToken<\/code><\/td><td>Optional<\/td><td>Token \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01 operation<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-content-justification-left is-layout-constrained wp-container-core-group-is-layout-12dd3699 wp-block-group-is-layout-constrained\">\n<h4 class=\"wp-block-heading\" style=\"padding-top:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10)\"><strong>DisposeAsync()<\/strong><\/h4>\n\n\n\n<p>\u0e15\u0e31\u0e14\u0e01\u0e32\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d FTP \u0e41\u0e25\u0e30\u0e04\u0e37\u0e19 resources \u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14<br><\/p>\n<\/div>\n\n\n\n<p><\/p>\n","protected":false},"featured_media":0,"parent":3802,"menu_order":1,"comment_status":"open","ping_status":"closed","template":"","meta":{"nav_title":"","positive":"","negative":"","footnotes":""},"docs_category":[],"class_list":["post-3828","docs","type-docs","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs\/3828","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/types\/docs"}],"replies":[{"embeddable":true,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/comments?post=3828"}],"version-history":[{"count":23,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs\/3828\/revisions"}],"predecessor-version":[{"id":3910,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs\/3828\/revisions\/3910"}],"up":[{"embeddable":true,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs\/3802"}],"wp:attachment":[{"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/media?parent=3828"}],"wp:term":[{"taxonomy":"docs_category","embeddable":true,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs_category?post=3828"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}