منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : تنزيل ملف صورة من موقع ديناميكيا و عرضها في PictureBox
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كاتب الموضوع : Boutemine Oualid




كود :
Imports System
Imports System.Net
Imports System.IO

Public Class frmMain
'''<summary>
'''The stream buffer size.
'''</summary>
Public Const BufferSize As Integer = 512 * 1024
'''<summary>
'''The bloc reading size.
'''</summary>
Public Const BufferReadSize As Integer = 1024

Private Sub btnGetPicture_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGetPicture.Click
Dim imageRequest As HttpWebRequest
Dim serverResponse As WebResponse
Try
'ارسال طلب
imageRequest = CType(WebRequest.Create(txtURL.Text), HttpWebRequest)
'قراءة الجواب
serverResponse = imageRequest.GetResponse()
'التأكد من أن الملف المطلوب ملف صورة
If Not serverResponse.ContentType.StartsWith("image/") Then
MsgBox("Le fichier n'est pas une image valide!", MsgBoxStyle.Critical)
Exit Sub
End If
'قراءة محتوى الجواب (مكتوب ببروتوكول ال Http)
Dim responseStream As Stream = serverResponse.GetResponseStream()
'يستعمل في قراءة محتويات الجواب
Dim buffer(BufferSize) As Byte
'عدد البايتات المقروءة في مقطع ال Stream الحالي
Dim read As Integer
'عدد البايتات المقروءة
Dim parsedBytes As Integer = 0
While True
read = responseStream.Read(buffer, parsedBytes, BufferReadSize)
If read = 0 Then Exit While 'نهاية ال Stream
parsedBytes += read
End While
'تحرير الذاكرة
responseStream.Close()
'طريقة أخرى هي استعمال الفئة WebClient
'Dim vb4arabClient As WebClient = New WebClient()
'buffer = vb4arabClient.DownloadData(txtURL.Text)

'تحويل المعطيات إلى Stream
Dim pictureStream As MemoryStream = New MemoryStream(buffer)
'الصورة
Dim logo As Image = Image.FromStream(pictureStream)
'اظهار الصورة
pbxLogo.Image = logo
Catch ex As Exception
MsgBox(ex.Message)
Finally
If Not serverResponse Is Nothing Then
serverResponse.Close()
End If
End Try
End Sub
End Class