Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Закачка файлов. Реализация на VB.NET  (Прочитано 5527 раз)
0 Пользователей и 1 Гость смотрят эту тему.
hyperworker
Гость
« : 11-03-2009 19:42 » 

Интересно было б реализовать функционал закачки файлов в приложении. Для этого я решил использовать URLDownloadToFile из urlmon.dll. Она почему то не отрабатывает. Для теста в этом же коде использовал и фунуцию OpenInternet. С интом вроде как коннектится, но файлы качать не хочет.
n.b. никаких предварительных настроек не делал . Пишу на VB 2008

вначале у меня

Код:
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

    Private Const INTERNET_OPEN_TYPE_PRECONFIG = 0
    Private Const INTERNET_OPEN_TYPE_DIRECT = 1
    Private Const INTERNET_OPEN_TYPE_PROXY = 3
    Private Const scUserAgent = "VB Project"
    Private Const INTERNET_FLAG_RELOAD = &H80000000
    Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
    Private Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hOpen As Long, ByVal sUrl As String, ByVal sHeaders As String, ByVal lLength As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
    Private Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, ByVal lNumberOfBytesRead As Long) As Integer
    Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer

ЗАТЕМ

Код:
Private Sub OpenURL(ByVal sUrl As String)
        Dim hOpen As Long
        Dim hOpenUrl As Long
        Dim bDoLoop As Boolean

        'Dim sReadBuffer(2048) As String

        ' Dim sBuffer As String
        Dim DownLoadFile As Boolean
       
        hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
        hOpenUrl = InternetOpenUrl(hOpen, sUrl, vbNullString, 0, INTERNET_FLAG_RELOAD, 0)
        bDoLoop = True

        If URLDownloadToFile(0, "http://***/14155_5000-150x0.jpg", "c:\image.jpg", 0, 0) = 0 Then
            DownLoadFile = True
        Else
            DownLoadFile = False
        End If
        MsgBox(DownLoadFile)
        If hOpenUrl <> 0 Then
            InternetCloseHandle(hOpenUrl)
        End If
        If hOpen <> 0 Then
            InternetCloseHandle(hOpen)
        End If

    End Sub

Подскажите пожалуйста в чем же может быть дело?...
« Последнее редактирование: 11-03-2009 19:57 от Алексей1153++ » Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #1 : 12-03-2009 05:33 » 

может фаервол рубит?
попробуйте для проверки с локального компьбтера скачать что-нибудь
Записан

I Have Nine Lives You Have One Only
THINK!
hyperworker
Гость
« Ответ #2 : 12-03-2009 08:12 » 

Благодарю. Вопрос закрыт. Проблема решена!
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines