Konfigurera en filkolumn med för portaler

Anteckning

Från och med den 12 oktober 2022 byter Power Apps-portaler namn till Power Pages. Mer information: Microsoft Power Pages är nu allmänt tillgänglig (blogg)
Vi kommer snart migrera och sammanfoga dokumentationen för Power Apps-portaler med Power Pages-dokumentationen.

En filkolumn används för lagring av binära data. Den här kolumnen används primärt för att lagra en enskild fil, anteckning eller bifogad fil. Det går dock att lagra andra formulär med binärdata. Du kan konfigurera en filkolumn i grundformulär formulär och flerstegsformulär så att du kan överföra, visa, ändra eller ta bort filen. Filkolumnen kan lagra filer med upp till den angivna största storleken i tabellkolumner Microsoft Dataverse.

En tabell med fält för Produktnummer, Produktnamn och Produktkatalog. För att fylla i fältet Produktkatalog väljer användaren Välj fil och bläddrar sedan till en PDF-fil som ska överföras och användas för produktkatalogen.

Viktigt

  • Det går inte att överföra en fil med hjälp av läget Infoga i ett grundläggande formulär eller ett steg i flerstegsformulär.

Liquid-kod

Liquid är ett mallspråk med öppen källkod som integreras i Microsoft Power Apps-portaler. Utvecklare kan hämta filkolumnvärden när de frågar efter data med hjälp av fetchXML och en entitetsvy.

{% for item in tables.results.entities %}
    {{ item.columnname.Name }}
    {{ item.columnname.Size }}
    {{ item.columnname.Url }}
{% endfor %}
Attribut Description
Name Namnet på filen som är associerad med kolumnen
Size Filstorlek i byte
webbadress Filnedladdnings-URL

Exempel: Hämta filkolumndata från en kontakttabell

Skapa en ny kolumn av fildatatyp i Dataverse för en kontakttabell med namnet myfileattribute.

Anteckning

Kontrollera att du har konfigurerat rätt tabellbehörigheter i kontakttabellen så att posten kan läsas.

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

Webb-API

Portalens webb-API kan användas för att utföra, skapa, läsa, uppdatera och ta bort operationer på filkolumner över Dataverse-tabeller.

Anteckning

Kontrollera att du har konfigurerat för webb-API webbplatsinställningarna för de tabeller och filkolumner du vill komma åt.

Hämta fildata

Hämta fildata genom att använda API-begäran som beskrivs i följande exempel.

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

Fildata från webbtjänstslutpunkter är begränsade till maximalt 16 MB-data i ett enda servicesamtal. Fildata som överstiger 16 MB måste delas upp i 4 MB eller mindre datablock (bitar). Varje block tas emot i ett separat API-samtal tills alla fildata har tagits emot. Det är ditt ansvar att gå med i de hämtade datablocken till från den fullständiga datafilen genom att kombinera datablocken i samma ordning som blocken som de tagits emot.

Exempel: Filnedladdning < 16 MB

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

Exempel: Filnedladdning > 16 MB

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

Överför fildata

Om du vill överföra filen anger du värdet för filkolumnen till en bytematris som innehåller innehållet i filen.

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

Exempel: Ladda upp fil

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