4

これに関するチュートリアルが見つかりません。VB.NETで、次のようなコマンドを実行したいと思います。

Dim array1() as string = ListFilesInFolder("www.example.com/images")

これはおそらくそれほど単純ではないことはわかっていますが、誰かが私にチュートリアルなどを教えてもらえますか?

4

2 に答える 2

8

この無料のライブラリを使用してくださいhttp://netftp.codeplex.com/

Imports System.Net
Imports System.Net.FtpClient

Sub Main
    using ftp = new FtpClient()

        ftp.Host = "www.example.com"
        ftp.Credentials = new NetworkCredential("yourFTPUser", "yourFTPPassword")
        ftp.SetWorkingDirectory("/images")
        for each item in ftp.GetListing(ftp.GetWorkingDirectory())

            select case item.Type
                case FtpFileSystemObjectType.Directory:
                    Console.WriteLine("Folder:" + item.FullName)
                case FtpFileSystemObjectType.File:
                    Console.WriteLine("File:" + item.FullName)
            End Select
        Next
    End Using    
End Sub

もちろん、www.example.comはFTPサーバーだと思います。

重要な注意:ライブラリには完全なが必要Framework 4.0です。のビルドページに移動Project Propertiesし、をクリックして、の代わりにAdvanced Optionsを選択する必要がありますFramework 4.0Framework 4.0 Client Profile

于 2012-12-28T23:33:03.077 に答える
2

次の方法はそれ以上で機能します。この質問は3年前のものですが、プロジェクトframework 3.5でFTPディレクトリを一覧表示する必要がある状況に遭遇したため、「FTPでディレクトリコンテンツを一覧表示する」を参照して次のコードを記述しました。framework 3.5

Imports System.Net

Dim Dirlist As New List(Of String) 'I prefer List() instead of an array
Dim request As FtpWebRequest = DirectCast(WebRequest.Create("ftp://www.example.com/images"), FtpWebRequest)

request.Method = WebRequestMethods.Ftp.ListDirectory
request.Credentials = New NetworkCredential("USER_NAME", "PASSWORD")

Dim response As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse)
Dim responseStream As Stream = response.GetResponseStream

    Using reader As New StreamReader(responseStream)
          Do While reader.Peek <> -1
             Dirlist.Add(reader.ReadLine)
          Loop
    End Using
response.Close()
于 2016-02-25T10:15:28.960 に答える