Файлообменник

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Файлообменник

Сообщение Space » 24.04.2009 (Пт) 18:58

Подскажите стабильно работающий файлообменник(файлохранилище :)) с открытым протоколом и возможностью максимально долго хранить файлы (надо программно закачивать файлы).

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Файлообменник

Сообщение MIT » 24.04.2009 (Пт) 19:10

Space писал(а):стабильно работающий файлообменник(файлохранилище )
Любой
Space писал(а):с открытым протоколом
Протоколы - FTP и/или HTTP - открытей некуда
Space писал(а):надо программно закачивать файлы
FTP-доступ тебе в помощь
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Файлообменник

Сообщение Хакер » 24.04.2009 (Пт) 19:28

«Народ», почты?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Файлообменник

Сообщение Debugger » 24.04.2009 (Пт) 20:54

Проходил такую проблему (хранил файлы обновления для проги). Использовал narod.ru + FTP.

Space
Combo-маньяк
Combo-маньяк
 
Сообщения: 818
Зарегистрирован: 11.01.2007 (Чт) 1:19
Откуда: Украина

Re: Файлообменник

Сообщение Space » 24.04.2009 (Пт) 23:12

зарегенился на яндексе. Кинешь код для ознакомления?

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Файлообменник

Сообщение Debugger » 25.04.2009 (Сб) 13:28

Конечно. Я вот делал так:
Код: Выделить всё
    Dim hSession As Long
    Dim hINetSession  As Long
    hINetSession = InternetOpen("MyFTPClient", 1, vbNullString, vbNullString, 0)
    hSession = InternetConnect(hINetSession, "ftp.narod.ru", "21", "мой_логин", "мой_пароль", INTERNET_SERVICE_FTP, 0, 0)
    FtpPutFile hSession, "путь в компе", "путь на народе", 0, 0
    InternetCloseHandle (hSession)
    InternetCloseHandle (hINetSession)

Соответственно, нужны декларации (привожу все-превсе):
Код: Выделить всё
Public Type FILETIME
    dwLowDateTime As Long
    dwHighDateTime As Long
End Type

Public Type WIN32_FIND_DATA
    dwFileAttributes As Long
    ftCreationTime As FILETIME
    ftLastAccessTime As FILETIME
    ftLastWriteTime As FILETIME
    nFileSizeHigh As Long
    nFileSizeLow As Long
    dwReserved0 As Long
    dwReserved1 As Long
    cFileName As String * 260
    cAlternate As String * 14
End Type

Public Declare Function FtpGetFile Lib "wininet.dll" Alias "FtpGetFileA" (ByVal hFtpSession As Long, ByVal lpszRemoteFile As String, ByVal lpszNewFile As String, ByVal fFailIfExists As Boolean, ByVal dwFlagsAndAttributes As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean
Public Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal nAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal nFlags As Long) As Long
Public Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" (ByVal hInternetSession As Long, ByVal sServerName As String, ByVal nServerPort As Integer, ByVal sUserName As String, ByVal sPassword As String, ByVal nService As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long
Public Declare Function FtpFindFirstFile Lib "wininet.dll" Alias "FtpFindFirstFileA" (ByVal hFtpSession As Long, ByVal lpszSearchFile As String, ByRef lpFindFileData As WIN32_FIND_DATA, ByVal dwFlags As Long, ByVal dwContent As Long) As Long
Public Declare Function InternetFindNextFile Lib "wininet.dll" Alias "InternetFindNextFileA" (ByVal hFind As Long, ByRef lpvFindData As WIN32_FIND_DATA) As Long
Public Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer
Public Declare Function FtpPutFile Lib "wininet.dll" Alias "FtpPutFileA" (ByVal hConnect As Long, ByVal lpszLocalFile As String, ByVal lpszNewRemoteFile As String, ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean
Public Declare Function FtpCreateDirectory Lib "wininet.dll" Alias "FtpCreateDirectoryA" (ByVal hFtpSession As Long, ByVal lpszDirectory As String) As Boolean

И, конечно, объявление константы
Код: Выделить всё
Public Const INTERNET_SERVICE_FTP = 1


При умелом использовании эта штука становится божественной.


Вернуться в Народный треп

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 36

    TopList