Partilhar via


Configurar uma coluna de ficheiros em portais

Nota

A partir de 12 de outubro de 2022, os portais do Power Apps passam a ser Power Pages. Mais informações: O Microsoft Power Pages está agora em disponibilidade geral (blogue)
Em breve, vamos migrar e unir a documentação dos portais do Power Apps com a documentação do Power Pages.

Uma coluna de ficheiro é utilizada para armazenar dados binários. Esta coluna é utilizada principalmente para armazenar um único ficheiro, nota ou anexo; no entanto, é possível armazenar outros formulários de dados binários. É possível configurar uma coluna de ficheiro em formulários básicos e de vários passos para fornecer a capacidade de carregar, ver, modificar ou eliminar o ficheiro. A coluna de ficheiro pode armazenar ficheiros até ao tamanho máximo especificado de uma coluna de tabela do Microsoft Dataverse.

Animação de uma tabela com campos para Número de Produto, Nome do Produto e Catálogo de Produtos. Para preencher o campo Catálogo de Produtos, o utilizador seleciona Escolher Ficheiro e, em seguida, navega para um ficheiro PDF a carregar e utilizar no Catálogo de Produtos.

Importante

  • Não pode carregar um ficheiro utilizando o modo Inserir num formulário básico ou num passo de formulário de vários passos.

Código Liquid

O Liquid é uma linguagem de modelos open source que está integrada de forma nativa nos portais do Microsoft Power Apps. Os programadores podem obter os valores de coluna de ficheiro quando consultam os dados através de fetchXML e uma vista de entidade.

{% for item in tables.results.entities %}
    {{ item.columnname.Name }}
    {{ item.columnname.Size }}
    {{ item.columnname.Url }}
{% endfor %}
Atributo Description
Name O nome do ficheiro associado à coluna
Size Tamanho do ficheiro em bytes
URL URL de transferência do ficheiro

Exemplo: obter dados de colunas de ficheiro a partir de uma tabela de contactos

Crie uma nova coluna de tipo de dados de ficheiro no Dataverse para uma tabela de contactos com o nome myfileattribute.

Nota

Certifique-se de que configurou a permissão de tabela apropriada na tabela de contactos para ler o registo.

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

A API Web de Portais pode ser utilizada para efetuar operações de criação, leitura, atualização e eliminação em colunas de ficheiro nas tabelas do Dataverse.

Nota

Certifique-se de que configurou as definições de site da API Web adequada para as tabelas e as colunas de ficheiro às quais pretende aceder.

Obter dados de ficheiro

Para obter dados de ficheiro, utilize o pedido da API descrito nos seguintes exemplos.

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

As transferências de dados de ficheiro dos pontos final do serviço Web estão limitadas a um máximo de 16 MB de dados numa única chamada de serviço. Os dados de ficheiro que excedam 16 MB têm de ser divididos em blocos de dados de 4 MB ou mais pequenos (segmentos). Cada bloco é recebido numa chamada à API separada, até que todos os dados do ficheiro tenham sido recebidos. É da sua responsabilidade unir os blocos de dados transferidos para formar o ficheiro de dados completo combinando os blocos de dados na mesma sequência em que os blocos foram recebidos.

Exemplo; Transferência de ficheiro < 16 MB

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

Exemplo; Transferência de ficheiro > 16 MB

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

Carregar dados de ficheiro

Para carregar o ficheiro, defina o valor da coluna de ficheiro para uma matriz de byte que contenha o conteúdo do ficheiro.

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

Exemplo: carregamento de ficheiros

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