Compartilhar via


Configurar uma coluna de arquivo nos portais

Observação

Desde o dia 12 de outubro de 2022, os portais do Power Apps passaram a ser Power Pages. Mais Informações: O Microsoft Power Pages já está disponível para todos (blog)
Em breve, migraremos e mesclaremos a documentação dos portais do Power Apps com a documentação do Power Pages.

A coluna de arquivo é usada para armazenar dados binários. Esta coluna é usada principalmente para armazenar um único arquivo, nota ou anexo; no entanto, é possível armazenar outros formulários de dados binários. Você pode configurar uma coluna de arquivo em formulários básicos e de várias etapas para fornecer a possibilidade de carregar, exibir, modificar ou excluir o arquivo. A coluna de arquivo pode armazenar arquivos de até o tamanho máximo especificado de uma coluna de tabela do Microsoft Dataverse.

Animação de uma tabela com campos para Número do Produto, Nome do Produto e Catálogo de Produtos. Para preencher o campo Catálogo de Produtos, o usuário seleciona Escolher arquivo e navega até um arquivo PDF para carregá-lo e usá-lo no Catálogo de Produtos.

Importante

  • Não é possível carregar um arquivo usando o modo de Inserção em um formulário básico ou em uma etapa de formulário de várias etapas.

Código Liquid

Liquid é uma linguagem de modelo open-source que é integrada aos portais do Microsoft Power Apps de forma nativa. Os desenvolvedores podem recuperar valores da coluna de arquivo podem ao consultar dados são usando fetchXML ou uma exibição de entidade.

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

Exemplo: recuperar dados de coluna de arquivo de uma tabela de contatos

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

Observação

Configure a permissão de tabela apropriadas na tabela de contatos para ler o registro.

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

A API Web dos portais pode ser usada para executar, criar, ler, atualizar e excluir operações em colunas de arquivo nas tabelas do Dataverse.

Observação

Verifique se você configurou as devidas configurações do site da API Web para as tabelas e colunas de arquivo que você deseja acessar.

Recuperando dados de arquivo

Para recuperar dados de arquivo, use a solicitação de API descrita nos exemplos a seguir.

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

As transferências de dados de arquivo dos pontos de extremidade de serviço Web são limitadas a um máximo de 16 MB de dados em uma única chamada de serviço. Os dados de arquivo com mais de 16 MB devem ser divididos em blocos de dados de 4 MB ou menores (divisões). Cada bloco é recebido em uma chamada à API separada até que todos os dados do arquivo sejam recebidos. É sua responsabilidade juntar os blocos de dados baixados para formar o arquivo de dados completo, combinando os blocos de dados na mesma sequência em que os blocos foram recebidos.

Exemplo: Download de arquivo < 16 MB

Solicitação
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: Download de arquivo > 16 MB

Solicitação
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[ ]

Upload do arquivo de dados

Para fazer upload do arquivo, defina o valor da coluna de arquivo para uma matriz de bytes que contenha o conteúdo do arquivo.

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

Exemplo: upload de arquivo

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