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
Image de référence (600x338px)

Figure 1. Image de référence (600x338px)

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
Image 200x113px

Figure 2. Image 200x113px

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
Image 355x200px

Figure 3. Image 355x200px

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
Image 200x113px

Figure 4. Image 200x113px

GET api/v1/images/assets/sizes/200x100/sky.jpg
Image 178x100px

Figure 5. Image 178x100px

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
Image 50x200px

Figure 6. Image 50x200px

GET api/v1/images/assets/sizes/200x50c/sky.jpg
Image 200x50px

Figure 7. Image 200x50px

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
Image 50x200px

Figure 8. Image 50x200px

GET api/v1/images/assets/sizes/200x50s/sky.jpg
Image 200x50px

Figure 9. Image 200x50px

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
×