Помогите! Слетает FTP-копирование

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Lady Stardust
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 11.11.2003 (Вт) 15:59
Откуда: Москва

Помогите! Слетает FTP-копирование

Сообщение Lady Stardust » 13.11.2003 (Чт) 14:25

Для FTP копирования используется Internet Transfer Control (это ActiveX)
Когда в локальном пути к копируемому файлу находится пробел (например, Program Files), то метод Execute отказывается копировать этот файл на веб-сервер ;-(
Подскажите, как можно побороть эту проблему!

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

A nice example just 4 u...

Сообщение hCORe » 13.11.2003 (Чт) 21:47

Для этого я копирую нужный файл в корень диска C:\
и использую этот путь. Тоже не решение :cry:

Поставь на форму 2 текстбокса (txtFile и txtDirectory для указания имени исходного файла и конечной директории соответственно) + MS Internet Transfer Control inetDownload:

Код: Выделить всё
On Error Resume Next
Dim tmpStr As String, tmpStr2 As String
    PutIt = True
    tmpStr = txtDirectory.Text ' папка, в которую надо копировать
    cmdCancel.Enabled = True
    tmpStr2 = GetFileName(txtFile.Text)
    FileCopy txtLocal.Text, "C:\" & tmpStr2
    If Mid(tmpStr, Len(tmpStr)) <> "/" Then tmpStr = tmpStr & "/"
    ErrTrap = False
    inetDownload.Execute , "PUT C:\" & tmpStr2 & " " & tmpStr & tmpStr2

Public Function GetFileName(FilePath As String)
On Error Resume Next
Dim CN, A, B
CN = 1
Ret:
  A = InStr(CN, FilePath, "\")
  If A = 0 Then
    GetFileName = Mid(FilePath, B - -1): Exit Function
  Else
    CN = A - -1: B = InStr(CN, FilePath, "\")
    If B = 0 Then
      GetFileName = Mid(FilePath, A - -1): Exit Function
    Else
      CN = B - -1: GoTo Ret
    End If
  End If
End Function
Моду создают модоки, а распространяют модозвоны.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 14.11.2003 (Пт) 11:45

Попробуй заменить "Program Files" на "Program%20Files" и т.п.
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, SemrushBot и гости: 14

    TopList