Een bestandskolom configureren in portals

Notitie

Met ingang van 12 oktober 2022 wordt Power Apps-portals hernoemd tot Power Pages. Meer informatie: Microsoft Power Pages is nu algemeen beschikbaar (blog)
We zullen binnenkort de documentatie voor Power Apps-portals migreren en samenvoegen met Power Pages-documentatie.

Een bestandskolom wordt gebruikt voor het opslaan van binaire gegevens. Deze kolom wordt voornamelijk gebruikt om een enkel bestand, notitie of bijlage op te slaan. Het is echter ook mogelijk om andere vormen van binaire gegevens op te slaan. U kunt een bestandskolom configureren voor basisformulieren en formulieren voor meerdere bestanden om het bestand te kunnen uploaden, bekijken, wijzigen of verwijderen. In de bestandskolom kunnen bestanden worden opgeslagen tot de vastgestelde maximale grootte van een Microsoft Dataverse-tabelkolom.

Animatie van een tabel met velden voor productnummer, productnaam en productcatalogus. Om het veld productcatalogus te vullen, selecteert de gebruiker Bestand kiezen en bladert vervolgens naar een PDF-bestand om te uploaden en te gebruiken voor de productcatalogus.

Belangrijk

  • U kunt een bestand niet uploaden met de modus Invoegen in een stap van een basisformulier of formulier voor meerdere stappen.

Liquid-code

Liquid is een opensource-sjabloontaal die in zijn oorspronkelijke vorm is geïntegreerd in Microsoft Power Apps-portals. Ontwikkelaars kunnen bestandskolomwaarden ophalen wanneer ze query's uitvoeren op gegevens met behulp van fetchXML en de entiteitsweergave.

{% for item in tables.results.entities %}
    {{ item.columnname.Name }}
    {{ item.columnname.Size }}
    {{ item.columnname.Url }}
{% endfor %}
Kenmerk Omschrijving
Name De naam van het bestand dat is gekoppeld aan de kolom
Omvang Bestandsgrootte, in bytes
URL Download-URL van bestand

Voorbeeld: bestandskolomgegevens ophalen uit een contactpersoontabel

Maak een nieuwe kolom van gegevenstype Bestand in Dataverse voor een contactpersoontabel met de naam myfileattribute.

Notitie

Zorg ervoor dat u de juiste tabelmachtiging voor de contactpersoontabel hebt geconfigureerd om de record te kunnen lezen.

{% 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 %}

Web-API

De web-API voor portals kan worden gebruikt om voor alle Dataverse-tabellen bewerkingen voor maken, lezen, bijwerken en verwijderen uit te voeren op bestandskolommen.

Notitie

Zorg ervoor dat u de juiste site-instellingen voor de web-API hebt geconfigureerd voor de tabellen en bestandskolommen die u wilt openen.

Bestandsgegevens ophalen

Gebruik voor het ophalen van bestandsgegevens het API-verzoek dat in de volgende voorbeelden wordt beschreven.

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

Overdrachten van bestandsgegevens van de webservice-eindpunten zijn beperkt tot maximaal 16 MB aan gegevens in een enkele serviceaanvraag. Bestandsgegevens groter dan 16 MB moeten worden verdeeld in datablokken van 4 MB of kleiner (chunks). Elk blok wordt in een afzonderlijke API-aanroep ontvangen totdat alle bestandsgegevens zijn ontvangen. Het is uw verantwoordelijkheid om de gedownloade gegevensblokken samen te voegen met het volledige gegevensbestand door de gegevensblokken te combineren in dezelfde volgorde als die waarin de blokken werden ontvangen.

Voorbeeld: bestandsdownload < 16 MB

Aanvragen
HTTP
GET [Portal Url]/_api/accounts(62d53214-9dfa-eb11-94ee-0022482230a8)/myfileattribute/$value
Headers:
Content-Type: application/octet-stream
De respons
204 No Content
Body:
Byte[ ]

Voorbeeld: bestandsdownload > 16 MB

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

Bestandsgegevens uploaden

Als u het bestand wilt uploaden, stelt u de waarde van de bestandskolom in op een bytematrix die de inhoud van het bestand bevat.

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

Voorbeeld: Bestandsupload

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