IDKaName Ответов: 1

Проблема с загрузкой с url-адреса через кнопку


Привет. Я пытаюсь сделать программу в vb.net и то, что он делает, это загружает из pastebin текст, который он имеет в сыром режиме, нажав на кнопку, но есть проблема.

Я хочу, чтобы при нажатии на кнопку он загружал в формате .txt файл pastebin и пользовательский файл с именем "Pastebin File" в папку, где находится моя программа.

Я благодарен, если вы можете мне помочь!

Что я уже пробовал:

Dim webRequest As System.Net.WebRequest = System.Net.WebRequest.Create("http://pastebin.com/raw/blabla")
            Dim streamReader As System.IO.StreamReader = New System.IO.StreamReader(webRequest.GetResponse().GetResponseStream())
            Dim streamWriter As System.IO.StreamWriter = New System.IO.StreamWriter(String.Concat("Pastebin1[", Help.time, "].txt"))
            streamWriter.WriteLine(streamReader.ReadToEnd())
            streamReader.Close()
            streamWriter.Close()

1 Ответов

Рейтинг:
2

Maciej Los

Вы не предоставили подробностей о своей проблеме. Тем не менее...

Самый простой способ-это использовать DownloadFile метод, подробно описанный здесь: Как загрузить файл в Visual Basic | Microsoft Docs[^]

[РЕДАКТИРОВАТЬ]
Если вы хотите отслеживать ход загрузки, используйте служба WebClient.Метод DownloadFileAsync (System.Net) | Microsoft Docs[^]

[Правка#2]
Проверить это:

Sub Main
    Dim client As New WebClient()
    AddHandler client.DownloadProgressChanged, AddressOf ShowDownloadProgress
    'AddHandler client.DownloadFileCompleted, AddressOf OnDownloadComplete
    'correct address is: https://pastebin.com/raw/5470UJ4S
	client.DownloadFileAsync(New Uri("https://pastebin.com/raw/5470UJ4S"), "D:\5470UJ4S.txt")
	
End Sub

'Private Sub OnDownloadComplete(ByVal sender As Object, ByVal e As AsyncCompletedEventArgs)
'    If Not e.Cancelled AndAlso e.Error Is Nothing Then
'        Console.WriteLine("Download success")
'    Else
'        Console.WriteLine("Download failed")
'    End If
'End Sub

Private Sub ShowDownloadProgress(ByVal sender As Object, ByVal e As DownloadProgressChangedEventArgs)
    Console.Write($"{e.ProgressPercentage} percent completed...")
End Sub



Удачи вам!


IDKaName

это действительно не помогло мне, но это ошибка, которую я получаю:
Скриншот: http://prntscr.com/oeu2pg

IDKaName

Я думаю, что это что-то вроде этого, чтобы загрузить с кнопки с этим, и я хочу сохранить его в ту же папку:

Dim strArrays As String() = (New WebClient()).DownloadString

Maciej Los

Я проверил url, который вы использовали в своем коде. Он сломан: "Эта страница больше не доступна. Он либо истек, либо был удален его создателем, либо удален одним из сотрудников Pastebin."

IDKaName

что я должен сделать?

проверьте с помощью этой пасты pls:
https://pastebin.com/5470UJ4S

Maciej Los

Проверьте мой обновленный ответ.

Maciej Los

И что же?