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
TECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOURTECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOUR par ROMELARD Fabrice
Cette session est la dernière pleinière de ces 3 jours de TechDays Paris 2010. Généralement, cette troisième journée est plus axée sur l'avenir vu par Microsoft. Après un retour sur l'avenir vu par la Science Fiction ou par ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|