Utilisation avec timeout de 10 secondes
DownloadFile("http://www.toto.com/fichier.zip","c:\fichier.zip,10000)
Public Sub DownloadFile(ByVal RemoteFilePath As String, ByVal SaveFilePath As String, ByVal TimeOut As Integer, Optional ByVal BlockSize As Integer = 1024)Dim wr As WebRequest = WebRequest.Create(RemoteFilePath)
wr.Timeout = TimeOut
Dim wresp As WebResponse = wr.GetResponse()
Dim RemoteStream As Stream = wresp.GetResponseStream()
Dim LocalStream As New FileStream(SaveFilePath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Read)
Dim LocalStreamW As New BinaryWriter(LocalStream)
Dim buff As Byte() = New Byte(BlockSize - 1) {}
Dim iBytesRead As Integer = 1While iBytesRead > 0
iBytesRead = RemoteStream.Read(buff, 0, buff.Length)
LocalStreamW.Write(buff, 0, iBytesRead)
End While
wresp.Close()
RemoteStream.Close()
RemoteStream.Dispose()
LocalStreamW.Close()
LocalStream.Close()
LocalStream.Dispose()
End Sub