Accueil > > > TÉLÉCHARGER UNE IMAGE D'UN SITE WEB ET L'AFFICHER DANS UN PICTUREBOX
TÉLÉCHARGER UNE IMAGE D'UN SITE WEB ET L'AFFICHER DANS UN PICTUREBOX
Information sur la source
Description
Bonjour, Voici un simple exemple qui illustre l'utilisation des deux classes HttpWebRequest et HttpWebResponse pour acquérir un Paquet HTTP Dans cette petite source, on utilise ces deux classe pour vérifier si une réponse du serveur contient des données d'une image et si oui la transformée d'un NetworkStream en Bitmap, puis l'afficher dans un TextBox. Bon prog
Source
- '=====================================================================================
- ' # # '
- ' ## # # # # @ @ @ '
- ' ### " ##### # # # # " " # '
- ' ## # ## ##### # # #### # # # # # '
- ' ########### ####### ## # # ## # # # # # # '
- ' ## # #### # # ## # # # # '
- ' ## ## @ # # ##### # # # # # # # ## '
- ' # " ## #### # ## # #### ###### # ## '
- ' # ##### ## # ## @ # # # # # '
- ' # # " # # # # # # '
- ' # ## # # ################################# '
- ' ##### ##### ### # ## '
- ' ###### # ## '
- '=====================================================================================
- 'Utilisation Libre
- 'Auteur: 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
- 'Envoi de la requette.
- Dim imageRequest As HttpWebRequest
- 'Lecture de la réponse
- Dim serverResponse As WebResponse
- Try
- imageRequest = CType(WebRequest.Create(txtURL.Text), 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
- End Sub
- End Class
'=====================================================================================
' # # '
' ## # # # # @ @ @ '
' ### " ##### # # # # " " # '
' ## # ## ##### # # #### # # # # # '
' ########### ####### ## # # ## # # # # # # '
' ## # #### # # ## # # # # '
' ## ## @ # # ##### # # # # # # # ## '
' # " ## #### # ## # #### ###### # ## '
' # ##### ## # ## @ # # # # # '
' # # " # # # # # # '
' # ## # # ################################# '
' ##### ##### ### # ## '
' ###### # ## '
'=====================================================================================
'Utilisation Libre
'Auteur: 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
'Envoi de la requette.
Dim imageRequest As HttpWebRequest
'Lecture de la réponse
Dim serverResponse As WebResponse
Try
imageRequest = CType(WebRequest.Create(txtURL.Text), 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
End Sub
End Class
Conclusion
C'est le mécanisme de base pour le web browser.
Historique
- 14 septembre 2008 01:28:20 :
- Quelques fautes
- 14 septembre 2008 01:34:32 :
- J'ai oublier de fermer la communication avec le serveur
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
PR EXPERT: CAPTURE DATAPIXEL D UN FRAME D UN AVI [EN MEMOIRE] [ par Freneticode ]
---> FrenetiCodeVoici mon Code..!!Private Sub cmd_open_Click()Dim FILE As cFileDlgDim NAME_FILE As StringDim AVI As LongDim STREAM As Lon
De Access vers MySQL [ par philagui ]
Bonjour,je suis en train d'essayer de faire un "copier-coller" d'une base de données Access vers une base de données MySQL et ceci par l'intermédiaire
Stream NTFS en VB [ par UnExPeCtEdSpy ]
Bonjour,Voila, j'pose pas souvent d'kestion pis la j'en ai une alors j'me géne pas :)J'arrive a créer , récupérer, détruire un alternate Stream dans u
Graphic overlay sur webcam stream [ par atlan ]
Salut,Je recherche une maniere ou un exemple d'un overlay de texte ou de graphique sur un webcal stream. De preference en VB.Net.Mercie d'avanceAtlan
directdraw creation de surface depuis un Stream [ par MrDogbert ]
Si quelqu'un sait comment créer une surface depuis autre chose qu'un nom de fichier (un Stream ou un objet Image seraient l'ideal) je suis preneur!!!m
AVI (Audio/Video) [ par hackademius ]
salut , je vois tout dabord que tout le monde s'en fou des questions qu'on pose alors je reitaire ma question(sous une autre forme ) puisque persone n
AVI(Audio/Video) [ par hackademius ]
j'ai apris que AVI -> Audio / Video) - j'ai un fichier video AVI dans lequel j'ai un stream video- j'ai un fichier audio WAV dans lequel j'ai un st
WinHttp request et barre de progression [ par oliarn ]
Voila, grace a mon logiciel on peut telecharger des images disponible sur une page web. Totu marche bien sauf que si j'arrive a faire une barre de pr
webrequest et script de configuration automatique [ par C3B12 ]
Comment télécharger un fichier si l'on accède à Internet via un script de configuration automatique dans le cadre de la politique de sécurité de son e
[VB.NET] OpenFileDialog, débutant .NET [ par el_teedee ]
Salut, j'aimerais proposer l'ouverture de fichier par la méthode "OpenFileDialog". Sur MSDN, c'est marqué qu'il faut faire une classe <
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|