Страница: 1 |
Страница: 1 |
Вопрос: Срочно! FTP
Добавлено: 17.03.05 10:58
Автор вопроса: Павел | Web-сайт:
Подскажите пожалуйста бесплатная ActiveX DLL для работы с FTP
(нужен собственно только аплоад файла на FTP-сервер).
Написал бы сам, но нужно срочно и времени нету :(
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #1
Добавлено: 17.03.05 13:08
Выдрал из FTP-менеджера (надо - весь вышлю)
Private Const GENERIC_WRITE = &H40000000
Private Const BUFFERSIZE = 255
Private Declare Function FtpOpenFile Lib "wininet.dll" Alias "FtpOpenFileA"
(ByVal hFtpSession As Long, ByVal sBuff As String, ByVal Access As Long,
ByVal Flags As Long, ByVal Context As Long) As Long
Private Declare Function InternetWriteFile Lib "wininet.dll" (ByVal hFile As
Long, ByRef sBuffer As Byte, ByVal lNumBytesToWrite As Long,
dwNumberOfBytesWritten As Long) As Integer
Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet
As Long) As Long
Public Function FTPUploadFile(sLocal As String, sRemote As String) As
Boolean
Dim Data(BUFFERSIZE - 1) As Byte
Dim Written As Long
Dim Size As Long
Dim Sum As Long
Dim lBlock As Long
Sum = 0
lBlock = 0
sLocal = Trim(sLocal)
sRemote = Trim(sRemote)
If sLocal <> "" And sRemote <> "" Then
hFile = FtpOpenFile(hConnection, sRemote, GENERIC_WRITE, dwType, 0)
If hFile = 0 Then
ErrorOut Err.LastDllError, "FtpOpenFile:PutFile"
FTPUploadFile = False
Exit Function
End If
Open sLocal For Binary Access Read As #1
Size = LOF(1)
For lBlock = 1 To Size \ BUFFERSIZE
Get #1, , Data
If (InternetWriteFile(hFile, Data(0), BUFFERSIZE, Written) = 0)
Then
FTPUploadFile = False
ErrorOut Err.LastDllError, "InternetWriteFile"
Exit Function
End If
DoEvents
Sum = Sum + BUFFERSIZE
RaiseEvent FileTransferProgress(Sum, Size)
Next lBlock
'check for leftovers
If Size Mod BUFFERSIZE <> 0 Then
Get #1, , Data
If (InternetWriteFile(hFile, Data(0), Size Mod BUFFERSIZE, Written)
= 0) Then
FTPUploadFile = False
ErrorOut Err.LastDllError, "InternetWriteFile2"
Exit Function
End If
End If
Sum = Size
Close #1
RaiseEvent FileTransferProgress(Sum, Size)
InternetCloseHandle (hFile)
FTPUploadFile = True
End If
End Function
ЗЫ
Павел, ты тоже тему назвал по типу "быстрее дайте"
Я так понял что это ты пишешь ActiveX? Раз она бесплатная - поделишься
результатом?
Номер ответа: 2
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #2
Добавлено: 17.03.05 13:28
Нет Наоборот, мне нужна готовая ActiveX DLL для загрузки файла на
FTP.
Мне UU уже подсказал ссылочку, так что вопрос считаю закрытым.
Номер ответа: 3
Автор ответа:
DaSharm
ICQ: 780477
Вопросов: 72
Ответов: 1297
Web-сайт:
Профиль | | #3
Добавлено: 17.03.05 16:08
2zagzag: вышли мне весь, плиз. посмотрю на код.
dasharm@mail.ru
Номер ответа: 4
Автор ответа:
Comanche
Вопросов: 87
Ответов: 459
Профиль | | #4
Добавлено: 17.03.05 17:48
Павел, ты ж сам когда-то мою DLL-ку клал в "Примеры" ) SimpleFTP.dll называется; кстати, я с тех пор исправил в ней массу багов, если надо - вышлю...
Номер ответа: 5
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #5
Добавлено: 18.03.05 10:01
Вывсылай на user vbnet.ru - я заменю.
Номер ответа: 6
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #6
Добавлено: 18.03.05 11:17
DaSharm, выслсл
Если еще кому надо - просите у DaSharm
Номер ответа: 7
Автор ответа:
Comanche
Вопросов: 87
Ответов: 459
Профиль | | #7
Добавлено: 18.03.05 16:22
2UU:
завтра с работы вышлю.