загрузка ftp не работает - PullRequest
       2

загрузка ftp не работает

0 голосов
/ 13 февраля 2011

Я пытаюсь загрузить файлы из локальной папки в папку ftp-сервера, которая отлично работает при работе с filezilla.Я получаю эту ошибку:

Цитата: удаленный сервер возвратил ошибку: (550) файл недоступен (например, файл не найден, нет доступа).Код:

'.... ftppath = "tp: //192.xxx.xx.xx/%2f/feedb/gnip/

      Public Sub uploadFTP(ByVal ftpPath As String, ByVal localPath As String, 
           ByVal username As String, ByVal psswd As String)
      Dim item As String = String.Empty
      item = "F20110210022920.xml"
      Try
        Dim fs As FileStream = File.OpenRead(localPath & item)
        Dim buffer As Byte() = New Byte(fs.Length - 1) {}
        fs.Read(buffer, 0, buffer.Length)
        fs.Close()


        Dim clsRequest As System.Net.FtpWebRequest = DirectCast(System.Net.WebRequest.Create(ftpPath & item), System.Net.FtpWebRequest)
        clsRequest.Credentials = New System.Net.NetworkCredential(username, psswd)
        clsRequest.KeepAlive = False
        clsRequest.Proxy = Nothing
        clsRequest.Method = System.Net.WebRequestMethods.Ftp.UploadFile
        clsRequest.Timeout = 10000
        Dim bFile() As Byte = File.ReadAllBytes(localPath & item)
        Dim clsStream As Stream = clsRequest.GetRequestStream()
        clsStream.Write(bFile, 0, bFile.Length)
        clsStream.Close()
        clsStream.Dispose()


    Catch ex As Exception

    End Try

Ответы [ 3 ]

1 голос
/ 13 февраля 2011

Если вы еще этого не сделали, возьмите копию WireShark и проверьте пакеты, отправляемые FileZilla и вашим клиентом.Отсюда вы сможете проверить рабочий запрос и нерабочий запрос.Анализируя различия, вы сможете определить, что нужно исправить, чтобы все заработало.

1 голос
/ 13 февраля 2011

У меня нет ответа, но у меня есть метод, который вы можете использовать, чтобы найти ответ ... скачайте и установите анализатор пакетов и наблюдайте за трафиком ftp.разговор по каналу управления не должен быть трудным для подражания.посмотрите, в чем разница между вашей беседой и беседой Филезиллы, и вы сможете это выяснить.

0 голосов
/ 14 февраля 2011

решена проблема ...

clsrequest.usepassive = true
frequest.usebinary = false

и включенная подпапка в пути ftp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...