Hello.
ois pieni ongelma tiedostojen lataus virheilmoitusten kanssa.
scores = New WebClient
Dim sourceURL1 = "http://**.**.**.*** & scores.txt"
Dim filedir1 = (Application.StartupPath & "\Pistelistat\" & "scores.txt")
Try
scores.DownloadFileAsync(New Uri(sourceURL1), (filedir1), True)
Catch ex As Exception
MsgBox("Lataus epäonnistui: " + ErrorToString(), MsgBoxStyle.Critical)
End TrySiis tolla koodilla kyllä "tavara" tulee perille jos serveri toimii niinku pitääkin.
Mutta jos serveri on kaatunut tai ei ole ylipäätään käytössä, ni toi silti tekee uuden tyhjän tiedoston muina miehinä ja kaikki on muka OK.???
Missä vika???
Joku varmastikkin ehdottaa seuraavaa koodia..
My.Computer.Network.DownloadFile(http://**.**.**.***/scores.txt, Application.StartupPath & "\Pistelistat\" & scores.txt)
Sama homma... :(
Kuinka siis tehää sellanen...
Yhdistetään serveriin......
Yhdistetty serveriin.......
Tiedosto löydetty..........
Ladataan...................
Lataus suoritettu..........
Katkaistaan yhteys.........
Ps. tosta katkaistaan yhteys jutusta tuli mieleen, että noilla edellisillä koodeilla yhteys serveriin jää pysyväksi. siis ei katkea latauksen jälkeen.
- Happy -
Option Strict On
Imports System.Net
Imports System.IO
Module HappyDemo
Sub Main()
If (SaveWebPage("https://www.ohjelmointiputka.net/", "Omatiedosto.txt")) Then
Console.WriteLine("Onnistui")
Else
Console.WriteLine("Epäonnistui")
End If
End Sub
Public Function SaveWebPage(ByVal FromURL As String, ByVal ToFile As String) As Boolean
Dim response As WebResponse = Nothing
' Prepare web request...
Dim request As HttpWebRequest = DirectCast(WebRequest.Create(FromURL), HttpWebRequest)
Try
response = request.GetResponse()
Dim br As New BinaryReader(response.GetResponseStream())
Dim bw As New BinaryWriter(New FileStream(ToFile, FileMode.OpenOrCreate, FileAccess.Write))
Do
Dim data = br.ReadBytes(1024)
If data.Length = 0 Then Exit Do
bw.Write(data)
Loop
bw.Close()
br.Close()
response.Close()
Return True
Catch e As System.Net.WebException
Console.WriteLine("Web-pyyntö epäonnistui: " & e.Message)
Return False
Catch e As Exception
Console.WriteLine("Jotain yllättävää meni pieleen: " & e.Message)
Return False
End Try
End Function
End ModuleAihe on jo aika vanha, joten et voi enää vastata siihen.