Как скачать файл?

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Как скачать файл?

Сообщение _Мика_ » 05.07.2005 (Вт) 18:51

В VB.NET появился какой нибудь новый способ скачать не большой файл? Или надо опять, этим...*****...URLDownloadToFile :)
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 05.07.2005 (Вт) 19:16

Один способ нашел, но при этом форма виснит, а надо, желательно, шоб не висла :)

вот способ котрый я нашел...

Код: Выделить всё

    Dim wb As New Net.WebClient
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        wb.DownloadFile (<<URL>>,<<FILENAME>>)
    End Sub
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 05.07.2005 (Вт) 19:20

Вроде нашел :lol:

Код: Выделить всё

wb.DownloadFileAsync(<<URL>>,<<FILENAME>>)


Но как определить, скачался файл или нет? :roll:
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 05.07.2005 (Вт) 20:04

Вот, переделал один примерчик, кому интересно.... :roll:


Код: Выделить всё

    Public Function D(ByVal sURL As String, ByVal pProgress As ProgressBar, ByVal Filename As String) As Boolean
        D = False
        Dim scaricato As Double

        Dim URLReq As Net.HttpWebRequest
        Dim URLRes As Net.HttpWebResponse
        Dim FileStreamer As New IO.FileStream(Filename, IO.FileMode.Create)
        Dim bBuffer(999) As Byte
        Dim iBytesRead As Integer

        Label1.Text = Filename
        Label2.Text = sURL

        URLReq = System.Net.WebRequest.Create(sURL)
        URLRes = URLReq.GetResponse

        Dim sChunks As IO.Stream = URLReq.GetResponse.GetResponseStream

        pProgress.Value = 0
        pProgress.Maximum = URLRes.ContentLength


        Do
            DoEvents()
            iBytesRead = sChunks.Read(bBuffer, 0, 1000)

            scaricato += iBytesRead
            Label3.Text = "Downloading " & Format(ProgressBar1.Value / 1024, "#,###,###,###0.00") & " Kb di " & Format(ProgressBar1.Maximum / 1024, "#,###,###,###0.00") & " kb"
            DoEvents()
            If pProgress.Value + iBytesRead <= pProgress.Maximum Then
                pProgress.Value += iBytesRead
            Else
                pProgress.Value = pProgress.Maximum
            End If

            FileStreamer.Write(bBuffer, 0, iBytesRead)
        Loop Until iBytesRead = 0

        sChunks.Close()
        FileStreamer.Close()
        D = True
    End Function



Показывает прогресс бар, сколько скачано, итд :D
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: Как скачать файл?

Сообщение Andrey Fedorov » 06.07.2005 (Ср) 9:52

_Мика_ писал(а):Или надо опять, этим...*****...URLDownloadToFile :)


Кстати, в VB6 можно было и без этого. И вообще без API. Достаточно было воспользоваться методом AsyncRead у UserControl-a.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 06.07.2005 (Ср) 9:55

_Мика_ писал(а):Один способ нашел, но при этом форма виснит, а надо, желательно, шоб не висла :)


А запустить без формы?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 06.07.2005 (Ср) 10:50

_Мика_ писал(а):Вот, переделал один примерчик, кому интересно.... :roll:



Показывает прогресс бар, сколько скачано, итд :D


А позицинирование в потоке поддерживается? Это к вопросу о докачке....
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 06.07.2005 (Ср) 10:59

Sebas писал(а):А позицинирование в потоке поддерживается? Это к вопросу о докачке....


Stream.Position Property - похоже это...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 06.07.2005 (Ср) 11:01

Andrey Fedorov писал(а):
Sebas писал(а):А позицинирование в потоке поддерживается? Это к вопросу о докачке....


Stream.Position Property - похоже это...


Эт то понятно, а не выскочит NotSupported ?

Ктонить сам пробовал?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 06.07.2005 (Ср) 11:08

Sebas писал(а):Эт то понятно, а не выскочит NotSupported ?


Сервер может поддерживать докачку или нет...
Возможно тут поможет Stream.CanSeek Property.

Sebas писал(а):Ктонить сам пробовал?


Увы не приходилось...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...


Вернуться в Visual Basic .NET

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

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

    TopList