Lire en anglais

Partager via


Configurer une colonne d’image sur Power Pages

Une colonne d’image stocke un fichier image dans une colonne d’une table Microsoft Dataverse. Ajoutez une colonne d’image à un formulaire pour télécharger, afficher, modifier et supprimer des images. Le formulaire affiche une vignette de l’image si elle est disponible.

Note

Vous ne pouvez pas charger un fichier image en utilisant le mode Insérer dans un formulaire de base ou une étape de formulaire à plusieurs étapes.

URL de l’image

L’URL de l’image indique l’URL complète de l’endroit où l’image est stockée. Elle peut être utilisée pour le développement et le dépannage.

Une URL d’image prend la forme suivante :

{0}/Image/download.aspx?entity={1}&attribute={2}&id={3}

où :

  • {0} est l’URL du site web

  • {1} est le nom logique de l’entité

  • {2} est le nom logique de la colonne

  • {3} est l’ID de l’image

Par exemple, si votre site web est situé à l’adresse https://contososite.powerappsportals.com, votre code ressemblera à ceci :

https://contososite.powerappsportals.com/Image/download.aspx?entity=contact&attribute=entityimage&id=cb059a4a-b1a6-ec11-9840-00224829604e

Liquid

Vous pouvez concevoir un site Web à l’aide du code Liquid pour récupérer des enregistrements de tables Dataverse. Utilisez fetchXML et la vue Entité pour récupérer les valeurs des colonnes d’image, comme ceci :

XML
    {% for item in tables.results.entities %}
        {{ item.columnname.Type }}
        {{ item.columnname.Size }}
        {{ item.columnname.Url }}
        {{ item.columnname.Value }}
    {% endfor %}

où :

  • Type est le type mime de l’image

  • Size est la taille de l’image en octets

  • Value est la valeur de l’image sous forme de chaîne base64

  • Url est l’URL de l’image

Exemple : Récupérer une image de contact par défaut

XML
    {% fetchxml contacts %}
        <fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
            <entity name="contact">
                <attribute name="fullname"/>
                <attribute name="entityimage"/>
            </entity>
        </fetch>
    {% endfetchxml %}

    {% for item in contacts.results.entities %}
        {
            "Full Name":"{{ item.fullname }}"
            "Entity Image Type":"{{ item.entityimage.Type}}",
            "Entity Image Size":"{{ item.entityimage.Size}}",
            "Entity Image Url":"{{ item.entityimage.Url}}",
            "Entity Image Value":"{{ item.entityimage.Value}}"
        }
    {% endfor %}

API web

L’API web des portails peut être utilisée pour exécuter, créer, lire, mettre à jour et supprimer des images dans les colonnes d’image des tables Dataverse.

Récupérer les données d’image

Pour télécharger les données d’images miniatures, utilisez l’appel d’API suivant :

HTML
    GET /_api/<entity-type>(id)/<image-attribute-name>/$value

Les données d’image transférées depuis les points de terminaison du service web sont limitées à un volume maximum de données de 16 Mo dans un appel de service unique.

Exemple : télécharger une miniature

Dans l’exemple suivant, nous utiliserons un appel GET pour télécharger une miniature si elle existe.

Requête HHTP :

HTML
    GET [website url]/_api/accounts(62d53214-9dfa-eb11-94ee-0022482230a8)/entityimage/$value
    
    Headers:
    Content-Type: application/octet-stream

Réponse HTTP :

HTML
    204 No Content
    
    Body:
    Byte[ ]

Dans cet exemple, la miniature n’existe pas et aucune image n’est donc renvoyée. Si une miniature existait, la réponse renverrait un tableau d’octets avec des valeurs.

Charger des données d’image

Pour charger une image, définissez la valeur de la colonne d’image sur un tableau en octets contenant le contenu du fichier image :

HTML
    PUT or PATCH /_api<entity-type>(id)/<image-attribute-name>

Exemple : chargement d’une image

Requête HHTP :

HTML
    PUT [website url]/_api/accounts(62d53214-9dfa-eb11-94ee-0022482230a8)/entityimage

    Headers:
    Content-Type: application/octet-stream
    
    Body :
    Byte [ ]

Charger des images de profil

Les utilisateurs du site web authentifiés peuvent télécharger leur photo dans la section de profil du site web. L’image est enregistrée dans la colonne Image d’entité de l’enregistrement de contact correspondant dans Dataverse. Les utilisateurs peuvent télécharger des images d’une taille jusqu’à 10 Mo.

Créer des paramètres de site

Tout d’abord, vous devez créer un paramètre de site pour permettre aux utilisateurs authentifiés de télécharger une photo de profil :

  1. Ouvrez l’application Gestion du portail

  2. Sous Site web, sélectionnez Paramètres du site.

  3. Créez un paramètre nommé Profile/ShowImage et définissez sa valeur sur True. (Si le paramètre existe, définissez sa valeur sur true.)

    Capture d’écran du paramètre de site Profile/ShowImage.