Konfigurere en filkolonne på portaler

Bemærk

Fra 12. oktober 2022 bliver Power Apps-portaler til Power Pages. Flere oplysninger: Microsoft Power Pages er nu generelt tilgængelig (blog)
Vi overfører og fletter snart dokumentationen til Power Apps-portalerne med Power Pages-dokumentationen.

En filkolonne bruges til at gemme binære data. Denne kolonne bruges primært til at gemme en enkelt fil, en note eller en vedhæftet fil. Det er dog muligt at gemme andre former for binære data. Du kan konfigurere en filkolonne i grundlæggende formularer og formularer med flere gennemsyn, så du har mulighed for at overføre, få vist, ændre eller slette filen. I filkolonnen kan du gemme en billedfil op til den angivne maksimumstørrelse i en Microsoft Dataverse-tabelkolonne.

Animation af en tabel med felter til Produktnummer, Produktnavn og Produktkatalog. Brugeren vælger Vælg fil for at udfylde feltet Produktkatalog og søger derefter efter en PDF-fil, der skal uploades og bruges til produktkataloget.

Vigtigt

  • Du kan ikke overføre en fil ved hjælp af tilstanden Indsæt i en grundlæggende formular eller et trin til flere trin i en formular.

Liquid-kode

Liquid er et open source-skabelonsprog, der oprindeligt er integreret i Microsoft Power Apps-portaler. Udviklere kan hente filkolonneværdier, når de forespørger om dataene ved hjælp af fetchXML og objektvisning.

{% for item in tables.results.entities %}
    {{ item.columnname.Name }}
    {{ item.columnname.Size }}
    {{ item.columnname.Url }}
{% endfor %}
Attribut Description
Name Navn på den fil, der er knyttet til kolonnen
Size Filstørrelse i byte
URL URL-adresse til fildownload

Eksempel: Hent data fra en filkolonne fra en kontakttabel

Opret en kolonne af typen Ny fildata i Dataverse for en kontakttabel med navnet myfileattribute.

Bemærk

Kontrollér, at du har konfigureret de relevante tabeltilladelser på kontakttabellen til at læse posten.

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

Portalers Web API kan bruges til at udføre, oprette, læse, opdatere og slette handlinger på filkolonner på tværs af Dataverse-tabeller.

Bemærk

Sørg for, at du har konfigureret de relevante indstillinger for web-API-webstedet for de tabeller og filkolonner, du vil have adgang til.

Hentning af fildata

Hvis du vil hente fildata, skal du bruge den API-anmodning, der er beskrevet i følgende eksempler.

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

Fildataoverførsler fra slutpunkterne i webtjenesten er begrænset til højst 16 MB data i et enkelt serviceopkald. Fildata, der overstiger 16 MB, skal opdeles i 4 MB eller mindre datablokke (segmenter). Hver blok modtages i et separat API-kald, indtil alle fildata er modtaget. Det er dit ansvar at samle de hentede datablokke for at danne den komplette datafil ved at kombinere datablokkene i samme rækkefølge, som blokkene blev modtaget.

Eksempel: Fildownload < 16 MB

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

Eksempel: Fildownload > 16 MB

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

Overfør fildata

Hvis du vil uploade filen, skal du angive værdien af filkolonnen til en bytematrix, der har indholdet af filen.

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

Eksempel: Filoverførsel

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