16.4 Redimensionnement d'une image
16.4.1 Url
Téléchargement d'une image redimensionnée.
Le redimensionnement ne peux excéder la taille de l'image originale.
16.4.1.1 Images enregistrées sur le serveur
Pour les images enregistrées sur le serveur, l'url d'accès est :
api/v1/images/assets/sizes/<sizes>/<fileName>
Cette ressource télécharge l'image redimensionnée du fichier image original
contenu dans le répertoire Images
du serveur. Le nom du fichier <fileName>
est le chemin relatif du fichier à télécharger. Le chemin est relatif au
répertoire Ìmages
du serveur. Le chemin ne peut pas contenir ..
.
Les extensions de fichiers autorisées sont png
, jpg
, jpeg
et gif
.
Le type du fichier retourné est le même que celui de l'original.
Exemple :
- api/v1/images/assets/original/mime-source_php.png
- api/v1/images/assets/original/flags/fr.png
16.4.1.2 Images publiques enregistrées dans le coffre
Pour les images publiques enregistrées dans le coffre
api/v1/images/recorded/sizes/<sizes>/<vaultIdentifier>.<extension>
L'extension du fichier est obligatoire. Les valeurs autorisées sont png
, jpg
et gif
.
Le fichier retourné correspond à l'image originale redimensionnée et convertie en fonction de l'extension.
16.4.1.3 Attribut image des documents
Redimensionnement d'une image incluse dans un attribut "image" d'un document.
api/v1/documents/<documentId>/images/<attributeId>/<index>/sizes/<size>.<extension>
Paramètres :
-
<documentId>
: Identifiant du document -
<attributeId>
: Identifiant de l'attribut image -
<index>
: Vaut-1
si l'attribut n'est pas dans un tableau, indique la rangée du tableau dans le cas contraire (0 indique la première rangée). -
<size>
: La taille demandée -
<extension>
: Extension du fichier produit
L'extension du fichier est obligatoire. Les valeurs autorisées sont png
, jpg
et gif
.
Le fichier retourné correspond à l'image originale redimensionnée et convertie en fonction de l'extension.
Cette url est notamment utilisée pour afficher les miniatures (thumbnail) des attributs images.
Exemple : informations sur l'attribut image "es_photo" du document n°66518.
GET api/v1/documents/66518?fields=document.attributes.es_photo
{ "success": true, "messages": [], "data": { "document": { "attributes": { "es_photo": { "thumbnail": "api/v1/documents/66518/images/es_photo/-1/sizes/48.png", "size": "317762", "creationDate": "2016-08-29 08:24:05", "fileName": "panda-bambou-alimentation.jpg", "url": "api/v1/documents/66518/files/es_photo/-1/panda-bambou-alimentation.jpg", "mime": "image/jpeg", "icon": "api/v1/images/assets/sizes/24x24c/mime-image.png", "value": "image/jpeg|7168768396445052131|panda-bambou-alimentation.jpg", "displayValue": "panda-bambou-alimentation.jpg" } }, "uri": "/tmp/api/v1/documents/66518.json" } } }
Cas particulier, l’icône du document peut être adressée avec cette url en utilisant
comme nom d'attribut icon
.
GET api/v1/documents/66518/images/icon/-1/sizes/48x48c.png
Cela permet notamment d'accéder à des icônes qui ne serait pas publiques. Cela est le cas pour les documents qui ont des icônes spécifiques en fonction des attributs images.
16.4.2 Syntaxe pour le redimensionnement
Le paramètre <size>
permet d'indiquer la nouvelle taille avec la syntaxe suivante :
Soit l'image originale :
GET api/v1/images/assets/original/sky.jpg
16.4.2.1 Définir une largeur : <width>
indique la largeur (en pixel)
La hauteur est calculée pour garder la proportion de l'image.
GET api/v1/images/assets/sizes/200/sky.jpg
16.4.2.2 Définir une hauteur : x<height>
indique la hauteur (en pixel)
La largeur est calculée pour garder la proportion de l'image.
GET api/v1/images/assets/sizes/x200/sky.jpg
16.4.2.3 Définir la largeur et la hauteur : <width>x<height>
L'image est redimensionnée pour contenir dans la dimension indiquée tout en gardant sa proportion.
GET api/v1/images/assets/sizes/200x200/sky.jpg
GET api/v1/images/assets/sizes/200x100/sky.jpg
16.4.2.4 Définir la largeur et la hauteur en découpant l'image : <width>x<height>c
Pour que l'image contienne dans les exactes dimensions fournies, cette option permet de rogner (crop) l'image. Ce rognage est centré, les bords (haut / bas) ou (droite /gauche) sont supprimés avec la même proportion.
GET api/v1/images/assets/sizes/50x200c/sky.jpg
GET api/v1/images/assets/sizes/200x50c/sky.jpg
16.4.2.5 Définir la largeur et la hauteur en étirant l'image : <width>x<height>s
L'image est déformée (strech) pour contenir dans la dimension indiquée.
GET api/v1/images/assets/sizes/50x200s/sky.jpg
GET api/v1/images/assets/sizes/200x50s/sky.jpg
16.4.3 Structure de retour
Le retour est le contenu du fichier. En cas d'échec, une structure JSON est
retournée avec l'erreur si aucune extension n'est indiquée dans l'url. Si une
extension (différente de json
) est indiquée alors l'erreur affiché sera un
texte brut.
16.4.4 Paramètres
Le paramètre inline
permet de modifier l'entête HTTP pour demander au
navigateur un téléchargement de fichier ou un affichage dans le navigateur dans
le cas où celui-ci permet son affichage.
Par défaut, le téléchargement est demandé. L'entête contient
Content-Disposition: attachment
Si inline
vaut "true", "1" ou "yes", la disposition vaut :
Content-Disposition: inline