Page 1 sur 1

Calculer l'url d'une image

MessagePublié: 24 Mars 2010 à 16:18
par LSong
mon besoin est de calculer l'url d'une l'image dans un document
j'ai donc http:// serveur / chemin / base.nsf / vue / unidDuDoc / nomduchampsRT / NomDeLImage?openElement;FieldElemFormat=gif
(sans les espace)

le problème est le nom de l'image : je ne vois pas comment l'avoir !

le décors est le suivant :

- j'ai une base qui contient des documents (rien d'exceptionelle)
- dans le quel il y a un champs richtext
- dans le champs richtext il y a ... un "truc" une image, pas un attachement mais vraiment une image, un peu comme si on fait un Coller d'une capture d'ecran. Cette image semble construite directement en binaire dans le champs via un script +- imbuvable

Resultat il n'y a
- pas d'attachement,
- pas de $File,
- dans les propriérés du document je vois du vide,
- en script le champs est vide aussi
- @text et @Abstract retourne vide
- @attachementName retourne ... rien

tres marrant si je fait un champs de type text calculé sur le richText, ce champs a l'execution devient de type RichText et affiche l'image

Curieusement aussi quand je l'ouvre sur un navigateur j'ai l'url que je veux dans le source, le nom de l'image étant 0.98 dans ce cas la (je ne sais pas d'ou ca sort) et ca change d'un document à l'autre

Sauf que je n'arrive pas à l'avoir ni en scripte ni en formule.
Si quelqu'un connais ce genre de probleme je suis tout ouie

Laurent

MessagePublié: 25 Mars 2010 à 11:31
par LSong
J'ai analysé mon champs avec des Mime .. toujorus rien je vois bien mon image mais pas son nom ...

a savoir dans casiment toute les photo de la base c'est le meme nom
0.1E

de temps en temps j'ai 0.98

MessagePublié: 25 Mars 2010 à 15:42
par Damien Serve
Et si tu inspecte ton RichText en LS et que tu vas chercher les EmbeddedObjects (liste des fichiers attachés, embedded ou OLE), tu vois son nom ?

MessagePublié: 25 Mars 2010 à 16:04
par mclement
a mon avis arrêtes de chercher, comment veux tu q un copier coller d'une image ait un nom?

MessagePublié: 26 Mars 2010 à 11:45
par LSong
@Damien : j'ai deja cherché en Lotus script et j'ai rien trouvé, tout est vide sauf la taille

@mclement : je ne pensais pas qu'il pouvait avoir un nom au depart moi aussi

sauf que quand je regarde le source du document en web
il y a un nom ... 0.98 ou 0.1E ou M2 etc ...
c'est ce nom que j'esseye de trouver ...

MessagePublié: 01 Avr 2010 à 10:11
par Belinou
Bonjour,

Using ?OpenElement with image files

Syntax:

FieldOffset is the field number and the byte offset into the field. ImageFormat is either GIF or JPG. If the FileElemFormat is not entered, Domino assumes the image file format is GIF.

Example:

Using Open Element with OLE Objects

Syntax:

Note: The current URL syntax for referencing images and objects in Notes documents-specifically the FieldOffset-makes it impractical to create these URLs manually. As an alternative, you may paste the actual bitmap or object in place of the reference, create URL references to files stored in the file system, or attach the files to the documents.


sources: http://www-10.lotus.com/ldd/ddwiki.nsf/ ... KMKGXS.htm

On peut d'ailleurs trouver une info similaire dans l'aide Designer.

MessagePublié: 21 Avr 2010 à 13:55
par LSong
j'ai trouvé une solution qui marche ... comme quoi ...

en gros j'ouvre l'url avec un
Set oXmlServer = CreateObject("msxml2.ServerXMLHTTP")

j'appel mon url donnant sur un doc avec l'image et j'analyse le html qui m'est retourné

dans ce html je trouve le fameux offset
et hop je peu crée l'url sur la photo, j'acorde c'est absolument pas intuitif, mais ca marche

MessagePublié: 22 Avr 2010 à 06:56
par Michael DELIQUE
salut

un petit tip pour fêter ça ?

MessagePublié: 23 Avr 2010 à 14:38
par LSong
c'est vrai que ca peu servir a d'autre il faut faire comment ?

le code qui va chercher le document

Function getURL (doc As NotesDocument) As String
Dim oXmlServer As Variant
Dim url As String
Dim serverName As NotesName
Dim retour As String
Dim pos As Integer

' ouvrir le doc via son URL
Set oXmlServer = CreateObject("msxml2.ServerXMLHTTP")

Set serverName = New NotesName (doc.ParentDatabase.Server)
url = "http://" + serverName.Common + "/" + Implode (Split( doc.ParentDatabase.FilePath, "\"), "/") + "/ALL_DOCUID/" + doc.UniversalID + "?openDocument"
Call oXmlServer.open ("GET", url, False)
Call oXmlServer.send ()

' analyser son contenu
retour = oXMLServer.responseText
'Msgbox Left (retour, 1000)
'Stop
pos = Instr (retour, "/SD_EMP_PHOTO/")
If Pos = 0 Then Exit Function

retour = Right (retour, Len (retour) - pos+1)
retour = Left (retour , Instr (retour, "?")-1)

getURL = "http://" + serverName.Common + "/" + Implode (Split( doc.ParentDatabase.FilePath, "\"), "/") + "/ALL_DOCUID/" + doc.UniversalID + retour +"?OpenElement&FieldElemFormat=gif"
' recuperer l'URL

End Function