17-10-12, 06:06 PM
كاتب الموضوع : Boutemine Oualid
السلام عليكم و رحمة الله وبركاتههذه الطريقة غير محبذة لكن جيدة لتطبيق مبادئ التدفقات Streams
كود :
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 = 1
While 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
كود :
Dim client As New System.Net.WebClient()
'اذا كان الدخول الى الموقع محمي علينا بتعيين معلومات الدخول
'client.Credentials = New System.Net.NetworkCredential("UserName", "Passowrd")
client.DownloadFile("Remote Address", "c:\myFile")