【发布时间】:2014-05-02 15:32:23
【问题描述】:
当我调用函数 sendFile2FTP 时,我收到错误“远程服务器返回错误:(550) 文件不可用(例如,找不到文件,无法访问)。” >
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
这是我发送给函数的参数(都是有效的)
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
用户 -> 用户密码->密码
我做错了什么?
编辑:
我不确定这是否是权限问题,但我可以使用相同的凭据使用 filezilla 创建文件...
【问题讨论】:
-
检查您发送的远程路径以及您在服务器端确实具有写入权限。你的 fileNameServer 参数真的是整个字符串
ftp://ftp.server.com/intranet/file02-05-2014.xml吗? -
我刚刚在您提出问题之前编辑了帖子。我可以使用 Filezilla 创建文件。根据filezilla,该特定文件夹的权限设置为“777”。文件名是存储在“
.exe.config”中的 ftp 文件夹的完整路径和文件名(存在于本地存储中)的串联。
标签: sql-server vb.net .net-4.0 ftp