Télécharger une image ?

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Télécharger une image ?

Messagepar hugo » 29 Oct 2009 à 12:33

Bonjour à tous,

Je suis en train de faire un agent en Ls et je dispose d'une url du type "http://srv/photo?id=089" qui me renvoie une image que je souhaiterai mettre un dans richText. Je gère dynamiquement.

Sur la partie richText pas de problème, je sais comment y importer une image.

Concernant la partie récupération de l'image grace à l'url je suis complètement largué. En cherchant sur le forum je suis tombé sur cette pagehttp://forum.dominoarea.org/recuperation-apres-lenvoi-dune-url-du-buffer-html-t20002.html mais je n'arrive pas à récupéréer l'image avec.

Pouvez-vous m'aider ?

Merci d'avance !
Avatar de l’utilisateur
hugo
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 109
Inscrit(e) le : 06 Juin 2007 à 10:41
Localisation : Paris

Messagepar hugo » 29 Oct 2009 à 15:09

Finalement j'ai réussi à trouver une solution : je récupère l'image par envoie d'une requête http puis j'écris la réponse dans un fichier binaire. Voici le code :

Code : Tout sélectionner
'Utilisé pour la lecture du répertoire temporaire
Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (Byval nBufferLength As Long, Byval lpBuffer As String) As Long

   Dim objetHttp As Variant, response As Variant
   Dim urlcible As String, pathTmp As String, pathImg As String
   Dim i As Double   
   Dim fileNum As Integer
   
   'Instantiation de l'objet XMLHTTP
   Set objetHttp=Nothing
   Set objetHttp = CreateObject("Microsoft.XMLHTTP")
   
   urlcible = "http://serveur/photo?id=0317"
   
   'Définition de la requête
   Call objetHttp.open ("GET", urlcible, False)
   'Envoi de la requête
   Call objetHttp.send ()
   'Retour de la requête : le fichier image
   response = objetHttp.Responsebody   
   
   'Ecrtiure de l'image dans un fichier binaire
   pathImg = getTemporyPath + "test.jpg"   
   fileNum = Freefile()
   Open pathImg For Binary As fileNum%   
   For i=0 To Ubound(response)
      Put fileNum, i+1, response(i)   
   Next   
   Close #fileNum

Function getTemporyPath As String
   
   Dim strTmp As String, strPath As String
   Dim i As Integer
   
   'Donne le dossier Temporaire de Windows pour enregistrement et création des fichiers utilisés
   strTmp=Space$(1024)   
   Call GetTempPath(1024,strTmp)
   For i=1 To Len(strTmp)
      If Mid$(strTmp,i,1)=" " Then
         strPath=Mid$(strTmp,1,i-2)
         Exit For               
      End If
   Next
   
   getTemporyPath = strPath
   
End Function


Avatar de l’utilisateur
hugo
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 109
Inscrit(e) le : 06 Juin 2007 à 10:41
Localisation : Paris


Retour vers Développement

cron