【问题标题】:Getting file from FTP with space in filename VB 2010从 FTP 获取文件,文件名中有空格 VB 2010
【发布时间】:2014-08-27 07:47:02
【问题描述】:

我正在寻找问题的解决方案,我无法下载名称中包含空格的文件。

编辑:我发现 ftp 服务器在 linux 上运行,我的连接代码需要设置为 utf-8?这是真的吗?

我尝试传递不同版本的文件名:

名称加空格

名称%20with%20Space

名称/带/空格

名称/与/空格

名称"/"with"/"空格

但没有任何效果。这是我的代码

   Dim ftpRequest As FtpWebRequest = System.Net.FtpWebRequest.Create(myFTPPath & My ftp name with space )

       ftpRequest.Credentials = New System.Net.NetworkCredential(User, Password)

Dim ftpResponse As System.Net.FtpWebResponse = Nothing
            Dim iTries As Integer = 0
            Do While (IsNothing(ftpResponse) And iTries < 10)
                iTries += 1
                ftpResponse = getResponse(ftpRequest)
            loop
 ..........
 ...........
 ...........


Private Shared Function getResponse(ByRef request As FtpWebRequest) As FtpWebResponse
    Dim res As Boolean = False
    Dim response As System.Net.FtpWebResponse = Nothing
    Try
        response = request.GetResponse
    Catch ex As WebException

        If ex.Status = WebExceptionStatus.ConnectFailure Then
            response = Nothing
        End If
    End Try
    Return response
End Function

有人知道可行的解决方案吗?

【问题讨论】:

    标签: vb.net ftp uri space


    【解决方案1】:

    你试过覆盖整个路径“”标记吗?

    Dim ftpRequest As FtpWebRequest = System.Net.FtpWebRequest.Create("""ftp://example.com/directory with withespace/file with whitespace.txt""")
    

    如你所料,这会产生

    "ftp://example.com/directory with withespace/file with whitespace.txt"
    

    字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多