服务器返回文件错误,通过FTP上传文件 - 服务器返回错误(550)文件不可用,找不到文件...

550是System.Net.FtpWebRequest连接错误代码。

另外你还没有构建你的FTP正确检查我的FTP类:它非常简单直接。

Public Class FTP

'-------------------------[BroCode]--------------------------

'----------------------------FTP-----------------------------

Private _credentials As System.Net.NetworkCredential

Sub New(ByVal _FTPUser As String, ByVal _FTPPass As String)

setCredentials(_FTPUser, _FTPPass)

End Sub

Public Sub UploadFile(ByVal _FileName As String, ByVal _UploadPath As String)

Dim _FileInfo As New System.IO.FileInfo(_FileName)

Dim _FtpWebRequest As System.Net.FtpWebRequest = CType(System.Net.FtpWebRequest.Create(New Uri(_UploadPath)), System.Net.FtpWebRequest)

_FtpWebRequest.Credentials = _credentials

_FtpWebRequest.KeepAlive = False

_FtpWebRequest.Timeout = 20000

_FtpWebRequest.Method = System.Net.WebRequestMethods.Ftp.UploadFile

_FtpWebRequest.UseBinary = True

_FtpWebRequest.ContentLength = _FileInfo.Length

Dim buffLength As Integer = 2048

Dim buff(buffLength - 1) As Byte

Dim _FileStream As System.IO.FileStream = _FileInfo.OpenRead()

Try

Dim _Stream As System.IO.Stream = _FtpWebRequest.GetRequestStream()

Dim contentLen As Integer = _FileStream.Read(buff, 0, buffLength)

Do While contentLen <> 0

_Stream.Write(buff, 0, contentLen)

contentLen = _FileStream.Read(buff, 0, buffLength)

Loop

_Stream.Close()

_Stream.Dispose()

_FileStream.Close()

_FileStream.Dispose()

Catch ex As Exception

MessageBox.Show(ex.Message, "Upload Error: ", MessageBoxButtons.OK, MessageBoxIcon.Error)

End Try

End Sub

Public Sub DownloadFile(ByVal _FileName As String, ByVal _ftpDownloadPath As String)

Try

Dim _request As System.Net.FtpWebRequest = System.Net.WebRequest.Create(_ftpDownloadPath)

_request.KeepAlive = False

_request.Method = System.Net.WebRequestMethods.Ftp.DownloadFile

_request.Credentials = _credentials

Dim _response As System.Net.FtpWebResponse = _request.GetResponse()

Dim responseStream As System.IO.Stream = _response.GetResponseStream()

Dim fs As New System.IO.FileStream(_FileName, System.IO.FileMode.Create)

responseStream.CopyTo(fs)

responseStream.Close()

_response.Close()

Catch ex As Exception

MessageBox.Show(ex.Message, "Download Error: ", MessageBoxButtons.OK, MessageBoxIcon.Error)

End Try

End Sub

Public Function GetDirectory(ByVal _ftpPath As String) As List(Of String)

Dim ret As New List(Of String)

Try

Dim _request As System.Net.FtpWebRequest = System.Net.WebRequest.Create(_ftpPath)

_request.KeepAlive = False

_request.Method = System.Net.WebRequestMethods.Ftp.ListDirectoryDetails

_request.Credentials = _credentials

Dim _response As System.Net.FtpWebResponse = _request.GetResponse()

Dim responseStream As System.IO.Stream = _response.GetResponseStream()

Dim _reader As System.IO.StreamReader = New System.IO.StreamReader(responseStream)

Dim FileData As String = _reader.ReadToEnd

Dim Lines() As String = FileData.Split(New String() {Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries)

For Each l As String In Lines

ret.Add(l)

Next

_reader.Close()

_response.Close()

Catch ex As Exception

MessageBox.Show(ex.Message, "Directory Fetch Error: ", MessageBoxButtons.OK, MessageBoxIcon.Error)

End Try

Return ret

End Function

Private Sub setCredentials(ByVal _FTPUser As String, ByVal _FTPPass As String)

_credentials = New System.Net.NetworkCredential(_FTPUser, _FTPPass)

End Sub

End Class

初始化:

Dim ftp As New FORM.FTP("username", "password")

ftp.UploadFile("c:\file.jpeg", "ftp://domain/file.jpeg")

ftp.DownloadFile("c:\file.jpeg", "ftp://ftp://domain/file.jpeg")

Dim directory As List(Of String) = ftp.GetDirectory("ftp://ftp.domain.net/")

ListBox1.Items.Clear()

For Each item As String In directory

ListBox1.Items.Add(item)

Next

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值