1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| 'Envoi de la requette.
Dim imageRequest As HttpWebRequest
'Lecture de la réponse
Dim serverResponse As WebResponse
Try
imageRequest = CType(WebRequest.Create("url de l'image"), HttpWebRequest)
serverResponse = imageRequest.GetResponse()
'Vérification que le paquet HTTP est descriptif d'une image
If Not serverResponse.ContentType.StartsWith("image/") Then
MsgBox("Le fichier n'est pas une image valide!", MsgBoxStyle.Critical)
Exit Sub
End If
'Analyse du contenu du paquet HTTP
Dim responseStream As Stream = serverResponse.GetResponseStream()
'Utiliser pour stocker temporairement le contenu du paquet.
Dim buffer(BufferSize) As Byte
'Nombre d'octets lus dans la portion courante du Flux.
Dim read As Integer
'Nombre total des octets lus
Dim parsedBytes As Integer = 0
While True
'Lecture d'un nouveau bloc de taille maximale 1024 octet (BufferReadSize)
read = responseStream.Read(buffer, parsedBytes, BufferReadSize)
If read = 0 Then Exit While 'Fin du flux.
parsedBytes += read
End While
'Libération de ressources mémoire.
responseStream.Close()
'Transformation des données du buffer vers un Memory Stream
Dim pictureStream As MemoryStream = New MemoryStream(buffer)
'Transformation en Image
Dim logo As Image = Image.FromStream(pictureStream)
'Affichage de l'image.
pbxLogo.Image = logo
Catch ex As Exception
MsgBox(ex.Message)
Finally
If Not serverResponse Is Nothing Then
serverResponse.Close()
End If
End Try |
Partager