Configurare una colonna di file nei portali

Nota

A partire dal 12 ottobre 2022, i portali Power Apps sono denominati Power Pages. Altre informazioni: Microsoft Power Pages è ora generalmente disponibile (blog)
A breve verrà eseguita la migrazione e l'unione della documentazione dei portali Power Apps con la documentazione di Power Pages.

Una colonna file viene utilizzata per memorizzare dati binari. Questa colonna viene utilizzata principalmente per memorizzare un singolo file, nota o allegato; tuttavia, è possibile memorizzare altre forme di dati binari. È possibile configurare una colonna di file su moduli di base e con più passaggi per fornire la capacità di caricare, visualizzare, modificare o eliminare il file. La colonna file può archiviare file fino alla dimensione massima specificata di una colonna di tabella di Microsoft Dataverse.

Animazione di una tabella con campi per Numero prodotto, Nome prodotto e Catalogo prodotti. Per compilare il campo Catalogo prodotti, l'utente seleziona Scegli file e quindi passa a un file PDF da caricare e utilizzare per Catalogo prodotti.

Importante

  • Non puoi caricare un file usando la modalità Inserisci su un modulo di base o un passaggio del modulo con più passaggi.

Codice Liquid

Liquid è un linguaggio per modelli open source integrato in modo nativo nei portali Microsoft Power Apps. Gli sviluppatori possono recuperare i valori delle colonne file quando eseguono query sui dati usando fetchXML e la visualizzazione entità.

{% for item in tables.results.entities %}
    {{ item.columnname.Name }}
    {{ item.columnname.Size }}
    {{ item.columnname.Url }}
{% endfor %}
Attributo Description
Name Nome del file associato alla colonna
Size Dimensioni del file, in byte
URL URL di download del file

Esempio: recuperare i dati della colonna file da una tabella dei contatti

Crea una nuova colonna di tipo di dati file in Dataverse per una tabella contatti con il nome myfileattribute.

Nota

Assicurati di aver configurato le autorizzazioni di tabella appropriate nella tabella dei contatti per leggere il record.

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

Puoi utilizzare l'API Web dei portali per eseguire, creare, leggere, aggiornare ed eliminare operazioni nelle colonne immagine delle tabelle Dataverse.

Nota

Assicurati di aver configurato le impostazioni del sito dell'API Web appropriata per le tabelle e le colonne file a cui vuoi accedere.

Recupero dei dati del file

Per recuperare i dati dei file, utilizza la richiesta API descritta negli esempi seguenti.

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

I trasferimenti di dati di file dagli endpoint del servizio Web sono limitati a un massimo di 16 MB di dati in una singola chiamata del servizio. I dati di file che superano 16 MB devono essere suddivisi in blocchi di dati (chunk) di 4 MB o inferiori. Ogni blocco viene ricevuto in una chiamata API distinta fino a quando non sono stati ricevuti tutti i dati di file. È tua responsabilità unire i blocchi di dati scaricati dal file di dati completo combinando i blocchi di dati nella stessa sequenza in cui sono stati ricevuti i blocchi.

Esempio: download di file < 16 MB

Richiedi
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[ ]

Esempio: download di file > 16 MB

Richiedi
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[ ]

Caricamento dati file

Per caricare il file, imposta il valore della colonna file su una matrice di byte che contiene il contenuto del file.

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

Esempio: caricamento file

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