.Net 实现FTP服务 文件上传下载删除

Imports System.Net
Imports FluentFTP

Public Class FtpServer
    Private User As String
    Private Pass As String
    Private Host As String
    Private Port As String = "21"
    Private Client As FtpClient ' = New FtpClient("123.123.123.123")

    Sub New(ByVal user As String, ByVal pass As String, ByVal host As String)
        Me.User = user
        Me.Pass = pass
        Me.Host = host
        Me.Init()
    End Sub

    Sub New(ByVal user As String, ByVal pass As String, ByVal port As String, ByVal host As String)
        Me.User = user
        Me.Pass = pass
        Me.Host = host
        Me.Port = port
        Me.Init()
    End Sub

    ''' <summary>
    ''' 连接FTP服务器
    ''' </summary>
    Private Sub Init()
        Client = New FtpClient(String.Format("{0}", Me.Host), Me.User, Me.Pass)
        '开始连接Server
        Client.Connect()
    End Sub

    ''' <summary>
    ''' 文件列表
    ''' </summary>
    ''' <param name="dirName"></param>
    Public Sub FileList(ByVal DirName)
        For Each item As FtpListItem In Client.GetListing(DirName)
            If item.Type = FtpFileSystemObjectType.File Then
                MsgBox(String.Format("文件名称{0}", item.FullName))
            ElseIf item.Type = FtpFileSystemObjectType.Directory Then
                MsgBox(String.Format("目录名称{0}", item.FullName))
            End If
        Next
    End Sub

    Public Sub FileList()
        FileList("/")
    End Sub

    ''' <summary>
    ''' 
    ''' </summary>
    ''' <param name="SourcePath">本地路径</param>
    ''' <param name="TargetPath">FTP服务路径</param>
    Public Sub UploadFile(ByVal SourcePath As String, ByVal TargetPath As String)
        Client.UploadFile(SourcePath, TargetPath)
    End Sub

    ''' <summary>
    ''' 重命名
    ''' </summary>
    ''' <param name="OldName">旧名称</param>
    ''' <param name="NewName">新名称</param>
    Public Sub Rename(ByVal OldName As String, ByVal NewName As String)
        Client.Rename(OldName, NewName)
    End Sub

    ''' <summary>
    ''' 下载文件
    ''' </summary>
    ''' <param name="SourcePath">本地路径</param>
    ''' <param name="TargetPath">FTP服务路径</param>
    Public Sub DownloadFile(ByVal SourcePath As String, ByVal TargetPath As String)
        Client.DownloadFile(SourcePath, TargetPath)
    End Sub

    ''' <summary>
    ''' 删除文件
    ''' </summary>
    ''' <param name="DelPath">文件路径</param>
    Public Sub DeleteFile(ByVal DelPath)
        Client.DeleteFile(DelPath)
    End Sub

    ''' <summary>
    ''' 判断文件是否存在
    ''' </summary>
    ''' <param name="FilePath"></param>
    ''' <returns></returns>
    Public Function FileExists(ByVal FilePath) As Boolean
        Return Client.FileExists(FilePath)
    End Function

    ''' <summary>
    ''' 判断文件夹是否存在
    ''' </summary>
    ''' <param name="DirPath"></param>
    ''' <returns></returns>
    Public Function DirectoryExists(ByVal DirPath) As Boolean
        Return Client.DirectoryExists(DirPath)
    End Function

    ''' <summary>
    ''' 断开连接
    ''' </summary>
    Public Sub Close()
        Client.Disconnect()
    End Sub
End Class

需要引入 FluentFTP.dll类库

可以自行去下载引入

主入口

Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
        'Dim RootPath As String = Windows.Forms.Application.StartupPath & "\../../"
        'Dim str As String = System.IO.File.ReadAllText(RootPath & "Conf/FtpInit.xml")
        'MsgBox(str)
        Dim obj As New FtpServer("969721569@qq.com", "123456789++", "172.16.11.72")
        '获取目录名称
        'obj.FileList("/eocard")
        '上传
        'obj.UploadFile("C:\Users\xymgk\Downloads\ARJ21-A-91-11-00-33A-25BA-A.zip", "\eosbparse\ARJ21-A-91-11-00-33A-25BA-A.zip")
        '下载
        'obj.DownloadFile("D:\ARJ21-A-91-11-00-33A-25BA-A.zip", "\eosbparse\ARJ21-A-91-11-00-33A-25BA-A.zip")
        '删除
        'obj.DeleteFile("\eosbparse\ARJ21-A-91-11-00-33A-25BA-A.zip")
        '判断文件是否存在
        'Dim flag As Boolean = obj.FileExists("\eosbparse\ARJ21-A-91-11-00-33A-25BA-A.zip")
        '判断目录是否存在
        'Dim flag As Boolean = obj.DirectoryExists("\eosbparse")
        'MsgBox(flag)
    End Sub
End Class

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值