Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Копирование папки с/на FTP-сервер.


Автор: Компоратор 30.3.2011, 07:01
Возможно ли  копирование папки со всем содержимым на FTP-сервер, используя System.Net?
Или все-таки придется рекурсивно проходить содержимое и заливать индивидуально каждый файл/создавать папки?

Автор: mrbrooks 30.3.2011, 08:40
Компоратор, готового решения в BCL нет. так что все руками.

зы. при желании вы можете нагуглить массу бесплатных решений по данной тематики. уж чего - чего - а этого добра навалом.

Автор: wester 30.3.2011, 19:06
http://forum.vingrad.ru/index.php?showtopic=308207&view=findpost&p=2200887 
вот уже обсуждал

Автор: Компоратор 21.4.2011, 06:42
Использую рекурсивную процедуру для закачки на FTP каталога с данными, расположенного локально на машине:

Код

    Private Sub ToFtp(ByVal CopySource3 As String, ByVal CopyDest3 As String, ByVal cred3 As ICredentials)
        Dim pus As String = ""
        For Each f As String In Directory.GetFiles(CopySource3)
            Try
                Dim wc = New WebClient()
                wc.Credentials = cred3
                pus = IIf(Path.GetFileName(f.Substring(CopySource3.Length + 1)).StartsWith("\"), Path.GetFileName(f.Substring(CopySource3.Length + 1)), Path.GetFileName(f.Substring(CopySource3.Length)))
                Dim uri1 As New System.Uri(String.Format("{0}/{1}", Dest3, pus))
                wc.UploadFileAsync(uri1, f)
            Catch ex As Exception
                '
            End Try
        Next
        For Each d As String In Directory.GetDirectories(CopySource3)
            Dim newdir As String = ""
            Try
                pus = IIf(Path.GetFileName(d.Substring(CopySource3.Length + 1)).StartsWith("\"), Path.GetFileName(d.Substring(CopySource3.Length + 1)), Path.GetFileName(d.Substring(CopySource3.Length)))
                newdir = String.Format("{0}/{1}", Dest3, pus)
                Dim req = DirectCast(WebRequest.Create(newdir), FtpWebRequest)
                req.Credentials = cred3
                req.Method = WebRequestMethods.Ftp.MakeDirectory
                req.GetResponse()
            Catch ex As Exception
                '
            End Try

            ToFtp(d, newdir, cred3)
        Next
    End Sub


Через некоторое время, при попытке создать очередной каталог, req.GetResponse() вываливается в исключение "Запрос был прерван: Запрос отменен.". Что это  может  быть? Кто-нибудь может мне что-то  подсказать?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)