begin process at 2012 05 28 06:20:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

Divers

 > 

Ouvrir en lecture une image Web


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Ouvrir en lecture une image Web

vendredi 12 août 2005 à 10:04:21 | Ouvrir en lecture une image Web

zigxag

Bonjour !
Je voudrais récupérer une image qui se trouve à une URL donnée, afin de pouvoir l'insérer dans SQLServer. J'ai essayé de faire ceci :

Stream imgStream = File.Open(_ImageURL, FileMode.Open, FileAccess.Read);
mais ca ne marche pas... Une exception est vevée disant "Les formats URI ne sont pas pris en charge". Je programme en C#; savez vous comment faire ?

Merci d'avance !

vendredi 12 août 2005 à 10:36:55 | Re : Ouvrir en lecture une image Web

jesusonline

Membre Club Administrateur CodeS-SourceS

Comme ca c'est pas possible, il faut que tu te serves de la classe System.web et des méthodes httpRequest.

T'as de la chance j'ai justement un bout de code qui me permet de savoir si une URL est bonne ou pas

        Dim RTN As String = String.Empty

        Dim oRequest As HttpWebRequest
        oRequest = WebRequest.Create(url)
        oRequest.UserAgent = "MyUserAgent"
        oRequest.Timeout = TimeOut

        Dim oResponse As HttpWebResponse
        Try
            oResponse = oRequest.GetResponse
            If Not oResponse.StatusCode = HttpStatusCode.OK Then
                RTN = CInt(oResponse.StatusCode) & " - " & oResponse.StatusCode.ToString
            Else
                RTN = "OK"
            End If

        Catch ex1 As WebException
            RTN = CInt(ex1.Status) & " - " & ex1.Status.ToString
        Catch ex As Exception
            RTN = "Pas normal"
        End Try
        oRequest = Nothing


Aprés tu trouveras un stream dans Oresponse que tu pourras enregistrer dans la base avec un code que j'ai recemment posté sur ce site :)


ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr

vendredi 12 août 2005 à 11:39:01 | Re : Ouvrir en lecture une image Web

zigxag

Merci !!
Il n'y aurait pas une confusion entre les HttpWebRequest et les WebRequest, dans ton code ?
Dim oRequest As HttpWebRequest
oRequest = WebRequest.Create(url)

...car la méthode Create renvoi un WebRequest que tu affecte à un HttpWebRequest... c'est normal docteur ?
vendredi 12 août 2005 à 11:44:16 | Re : Ouvrir en lecture une image Web

jesusonline

Membre Club Administrateur CodeS-SourceS
non tout est normal :)

oublie pas d'importer system.net


Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
vendredi 12 août 2005 à 13:20:10 | Re : Ouvrir en lecture une image Web

zigxag

Réponse acceptée !
On me propose une autre solution, qui parait bien plus simple :

System.Net.WebClient webclient = new WebClient();
byte
[] imageBytes = webclient.DownloadData (_ImageURL);

Et je me retrouve avec un tableau de bytes....

vendredi 12 août 2005 à 13:28:11 | Re : Ouvrir en lecture une image Web

jesusonline

Membre Club Administrateur CodeS-SourceS
C'est vrai que cette méthode est beaucoup plus simple :p

Je connaissais pas, mais c'est toujours bon à savoir :)

Mais épuré ma solution se resume a

        Dim oRequest As HttpWebRequest
        oRequest = WebRequest.Create(url)
 
       Dim oResponse As HttpWebResponse
        oResponse = oRequest.GetResponse
 
Et j'ai beaucoup plus de donnée sur la réponse qui m'a été envoyé, dans ton cas si tu tombes sur une 404 je ne sais pas si ca ca va lancer une exception (je pense que oui) ou autre :)

En tout cas dans ton cas le code que tu proposes est beaucoup plus adapté que le mien :)


Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr

mercredi 17 août 2005 à 16:27:14 | Re : Ouvrir en lecture une image Web

zigxag

Ah mais il y a une erreur de "Violation du protocole HTTP". En effet, l'url n'est pas une URL classique, mais elle est ainsi : [ Lien ]=
Lorsqu'on se rend à cette adresse, une image est générée à la volée et est affichée dans le navigateur. Or, c'est cette image que mon application doit récuperer.
Le code que tu m'a fourni ainsi que celui que je t'ai copié marchent bien avec une adresse "classique" pointant vers un fichier JPG. Mais ils ne marchent pas dans mon cas...
Tu aurais une solution ?
mercredi 17 août 2005 à 16:53:23 | Re : Ouvrir en lecture une image Web

jesusonline

Membre Club Administrateur CodeS-SourceS
hum ...

c'est pas normal ca, car en fait l'url renvoie bien un tableau de byte donc noramelement tu dois pouvoir recuperer le bordel, tu peux me dire un peu plus précisement ou t'as l'erreur ?

le code plus haut (le premier) je l'ai justement fait car j'avais une erreur lors de ma requete (500) donc ca me levé une exception, et j'ai pu recuperé le code html de l'erreur, bref l'erreur etait car il n'y avait pas de user agent (et le site se servait du user agent, mais ne vérifiait pas s'il etait vide (je ne cite pas le site en question ca risquerait de ternir l'image du site sur lequel on se trouve ;))) donc peut etre que toi aussi, ou sinon peut etre que t'as besoin d'etre authentifié ou de passer des paramètres a ton url etc...

si tu ouvres un navigateur sur l'adresse de l'image ca fonctionne ? et l'erreur que tu as, tu peux m'en dire un peu plus ?


Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
mercredi 17 août 2005 à 17:04:45 | Re : Ouvrir en lecture une image Web

zigxag

Voici mon code, en C# :

System.Net.WebClient webclient = new WebClient();
byte[] imageBytes = webclient.DownloadData ( [ Lien ]);

Celui ci marche micke : j'obtient un tableau de bytes correspondant à l'image...
Maintenant, avec l'URL que je veux utiliser :

System.Net.WebClient webclient = new WebClient();
byte[] imageBytes = webclient.DownloadData ( [ Lien ]=);

Ce code plante au niveau de la méthode DownloadData. Une exception est levée disant : "La connexion sous-jacente a été fermée : Le serveur a commis une violation de protocole HTTP".
Cette adresse est en fait l'adresse réseau d'une webcam retournant une image "snapshot". Cette image JPG est donc générée à la volée. Les paramètres de l'URL ne sont pas importants et peuvent être omis. 
Merci pour ton aide en tout cas.

mercredi 17 août 2005 à 17:45:38 | Re : Ouvrir en lecture une image Web

jesusonline

Membre Club Administrateur CodeS-SourceS
Si tu fais avec ma méthode ca devrait te lancer une exception

dans le ex tu dois pouvoir recuperer le stream de la réponse peut etre que t'auras plus d'info la dessus, sinon il doit surement manquer des paramètres :s

c'est bizarre comme truc


Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr

1 2

Cette discussion est classée dans : ouvrir, lecture, web, image, open


Répondre à ce message

Sujets en rapport avec ce message

création auto d'une web forms [ par stifleur83 ] bonjour j'ai une boucle du stylei=10while x img = new Image(); // affecter les valeurs a l'image this.Controls.add(img); i=i+1end whilej'a ouvrir un raccourci vers un page web dans un nouvelle page [ par ravat ] salut J'ai créé un raccourci sur le bureau vers une page web que j'ai developpée, le probleme est qu'à chaque fois que j'ouvre cette page à partir de ouvrir un doc. word en asp.net [ par beabea ] bonjour,j'ai un document word que je voudrais ouvrir avec word dans une page web en asp.net vs2003.je ne veux pas utiliser imports de la ddl office ca Image en arrier plan dans Web user Control [ par edokt ] Bonjour tout le monde J'ai un petit problem Je veux mettre une image en arrire plan dans un Web user control Qq1 peut me dire comment il faut faire Ouvrir une page dans un autre web explorer [ par BrokenArrow29 ] Salut,Comment on fait en asp.net pour ouvrir une nouvelle page sans cadre, menu , bar de lien a partir du page déja ouverte.ps Vraiement je suis null ouvrir un fichier depuis gridview [ par beny100 ] salut à tous, j'ai inserér un champ image dans mon gridview,mon problème est que je veux  lier l'image a un fichier comme une pièce jointe et pouvoir comment faire pour que mon service web retourne une image ? [ par prodotnet ] Bonjours a tous ,je veux afficher une image ( stockée dans ma BD sql server )  dans ma page   en utilisant mon service web , mais ce dernier retourne comment faire pour que mon service web retourne une image ? [ par prodotnet ] Bonjours a tous ,je veux afficher une image ( stockée dans ma BD sql server )  dans ma page   en utilisant mon service web , mais ce dernier retourne Donner moi un coup de main SVP C mon premier Site web en asp [ par zmoha40 ] Bonjour,Je veux réaliser un  site web mais vu que je n'ai jamais fait ça je sais pas hésitant.Je veux surtout faire un catalogue des articles à vendre Framework web open source sous .net [ par Atmaweapon ] Salut à tous !Je suis actuellement en train de réfléchir à différentes solution d'intégration de portail web open source.J'ai déja regardé du coté de


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,997 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales