且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

连接到FTP服务器 - 远程服务器返回错误:(550)

更新时间:2022-10-23 18:35:05

问题出在关于ftp地址。而不是


ftp://ftp.server.com/intranet/file02-05-2014.xml


我必须在地址中使用用户名


ftp://username@ftp.server.com/server.com/intranet/file02-05-2014.xml



I'm getting the error "The remote server returned an error: (550) File unavailable (e.g., file not found, no access)." when I call my function sendFile2FTP

    Function sendFile2FTP(fileNameLocal As String, fileNameServer As String, user As String, password As String) As String


        Dim ftpRequest As Net.FtpWebRequest = Net.WebRequest.Create(fileNameServer)
        ftpRequest.Credentials = New Net.NetworkCredential(user, password)
        ftpRequest.Method = Net.WebRequestMethods.Ftp.UploadFile
        Try
            Dim ficheiro() As Byte = System.IO.File.ReadAllBytes(fileNameLocal)
            Dim ftpStream As System.IO.Stream = ftpRequest.GetRequestStream()
            ftpStream.Write(ficheiro, 0, ficheiro.Length)
            ftpStream.Close()
            ftpStream.Dispose()

            Return "True"
        Catch ex As Exception
            Return ex.Message

        End Try

  End Function

And this are the parameters that i'm sending to the function (which are all valid)

fileNameLocal -> C:\Users\user\Documents\Visual Studio 2013\Projects\AgenteExportDebitosCC\AgenteExportDebitosCC\bin\Debug\file02-05-2014.xml

fileNameServer -> ftp://ftp.server.com/intranet/file02-05-2014.xml
user -> user

password ->password

What am I doing wrong?

Edit:

I'm not sure if this is a permission issue, but I am able to create files with filezilla using the same credentials...

The issue was regarding the ftp address. Instead of

ftp://ftp.server.com/intranet/file02-05-2014.xml

I had to use the username in the address

ftp://username@ftp.server.com/server.com/intranet/file02-05-2014.xml