Configurer une colonne de fichier sur les portails

Notes

À compter du 12 octobre 2022, le portail Power Apps devient Power Pages. Plus d’informations : Microsoft Power Pages est maintenant généralement disponible (blog)
Nous allons bientôt migrer et fusionner la documentation des portails Power Apps avec la documentation de Power Pages.

Une colonne de fichier est utilisée pour stocker des données binaires. Cette colonne est principalement utilisée pour stocker un seul fichier, note ou pièce jointe ; cependant, il est possible de stocker d’autres formes de données binaires. Vous pouvez configurer une colonne de fichier sur des formulaires de base et à plusieurs étapes pour permettre de charger, d’afficher, de modifier ou de supprimer le fichier. La colonne de fichier vous permet de stocker des fichiers jusqu’à la taille maximale spécifiée d'une colonne de table Microsoft Dataverse.

Animation d’une table avec des champs pour le numéro de produit, le nom du produit et le catalogue de produits. Pour remplir le champ Catalogue de produits, l’utilisateur sélectionne Choisir un fichier, puis recherche un fichier PDF à charger et utiliser pour le catalogue de produits.

Important

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

Code Liquid

Liquid est un langage de modèle open source intégré nativement aux portails Microsoft Power Apps. Les développeurs peuvent récupérer les valeurs de la colonne de fichier lors de l’interrogation des données à l’aide de fetchXML et de la vue d’entité.

{% for item in tables.results.entities %}
    {{ item.columnname.Name }}
    {{ item.columnname.Size }}
    {{ item.columnname.Url }}
{% endfor %}
Attribute Description
Nom Le nom du fichier associé à la colonne
Size Taille du fichier, en octets
URL URL de téléchargement du fichier

Exemple : récupérer les données d’une colonne de fichier à partir d’une table contact

Créez une colonne de type de données de fichier dans Dataverse pour une table contact avec le nom attributmonfichier.

Notes

Assurez-vous que vous avez configuré les autorisations de table appropriées sur la table de contact pour lire l’enregistrement.

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

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

API Web

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

Notes

Assurez-vous d’avoir configuré les paramètres du site de l'API Web appropriés pour les tables et les colonnes de fichier auxquelles vous souhaitez accéder.

Récupération des données fichier

Pour récupérer les données du fichier, utilisez la requête de l'API décrite dans les exemples suivants.

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

Les transferts des données fichier depuis les points de terminaison du service web sont limités à un volume maximum de données de 16 Mo dans un appel de service unique. Les données du fichier dépassant 16 Mo doivent être divisées en blocs de données (morceaux) de 4 Mo ou moins. Chaque bloc est reçu dans un appel d’API distinct jusqu’à ce que toutes les données du fichier soient reçues. Il en va de votre responsabilité de joindre les blocs de données chargés pour former le fichier de données complet en associant les blocs de données dans la même séquence que celle où les blocs ont été reçus.

Exemple : téléchargement d’un fichier < 16 Mo

Requête
HTTP
GET [Portal Url]/_api/accounts(62d53214-9dfa-eb11-94ee-0022482230a8)/myfileattribute/$value
Headers:
Content-Type: application/octet-stream
Réponse
204 No Content
Body:
Byte[ ]

Exemple : téléchargement d’un fichier > 16 Mo

Requête
HTTP
GET [Portal Url]/_api/accounts(62d53214-9dfa-eb11-94ee-0022482230a8)/myfileattribute/$value
Headers:
Content-Type: application/octet-stream
Range: bytes=0-1023
Réponse
HTTP
204 No Content
Body:
Byte[ ]

Charger les données de fichier

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

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

Exemple : chargement du fichier

Demander
HTTP
PUT [Portal Url]/_api/accounts(62d53214-9dfa-eb11-94ee-0022482230a8)/myfileattribute
Headers:
Content-Type: application/octet-stream
Body :
Byte [ ]