powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / выгрузка файлов на фтп
1 сообщений из 1, страница 1 из 1
выгрузка файлов на фтп
    #38297649
maximIZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день. Нужна ваша консультация. Ниже код выгрузки. Посмотрите все ли корректно описано. И главное объясните мне по человечески необходимость параметра KeepAlive. Только на мсдн не нужно меня отсылать. Если стоит True то в процессе выгрузки вываливается ошибка (550) Файл недоступен (например, не найден или к нему нет доступа), если стоит False то в одном из офисов теряется связь с этим фтп и выгрузка на некоторое время невозможна. Также на мсдн указано что если стоит false то нужно принудительно закрывать, используя Close. Пересмотрел кучу примеров и этого никто не делает. Значит это необязательно? В другом офисе все проходит хорошо. Может я не правильно выгрузку написал.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
 Private Sub ftpUploadData(Data() As Byte, FileName As String, UserName As String, Password As String, FtpHost As String)
        Dim FtpUri As Uri = Me.BuildUri("ftp", FtpHost, FileName)
        Dim request As FtpWebRequest = FtpWebRequest.Create(FtpUri)
        Dim Stream As System.IO.Stream = Nothing

        request.Method = WebRequestMethods.Ftp.UploadFile
        request.Credentials = New NetworkCredential(UserName, Password)
        request.KeepAlive = False

        Try
            Stream = request.GetRequestStream()

            Stream.Write(Data, 0, Data.Length)

            Me.ExportFilesCount += 1
        Catch ex As Net.WebException
            Me.ErrorList.Add(String.Format("{0} {1}", ex.Message, FileName))
        End Try

        Try
            If Stream IsNot Nothing Then Stream.Close()
        Catch ex As Net.WebException
            Me.ErrorList.Add(ex.Message)
        End Try

    End Sub

  Public Sub ExportImages(ExportFiles As Dictionary(Of Integer, String), connection As SqlConnection, UserName As String, 
Password As String, FtpHost As String, HttpHost As String)

        If String.IsNullOrEmpty(HttpHost) Then
            Me.ErrorList.Add("Не указан HttpHost")
            Return
        End If

        Dim FileNumber As Integer

        For Each i As Integer In ExportFiles.Keys

            If Me.ErrorList.Any Then Exit For

            Dim FileName As String = ExportFiles(i)
            Dim HttpUri As Uri = Me.BuildUri("http", HttpHost, FileName)

            If Me.UrlExist(HttpUri) = False Then

                Dim Data As Byte() = Me.GetFileData(i, connection)

                If Data IsNot Nothing Then
                       Me.ftpUploadData(Data, FileName, UserName, Password, FtpHost)
                End If

            End If

            FileNumber += 1 : If Me.BW IsNot Nothing Then Me.BW.ReportProgress(FileNumber)

        Next

    End Sub
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / выгрузка файлов на фтп
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]