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