Настройка столбца файла на порталах
Примечание
Действует с 12 октября 2022 г, в качестве порталов для Power Apps используется Power Pages. Дополнительная информация: Microsoft Power Pages теперь доступен для всех (блог)
Скоро мы мигрируем и объединим документацию порталов Power Apps с документацией Power Pages.
Столбец файла используется для хранения двоичных данных. Этот столбец в основном используется для хранения одного файла, заметки или вложения; однако можно хранить и другие формы двоичных данных. Вы можете настроить столбец файла в базовой и многошаговой формах, чтобы обеспечить возможность загрузки, просмотра, изменения или удаления файла. Столбец файла может хранить файлы до указанного максимального размера столбца таблицы Microsoft Dataverse.
Важно!
- Вы не можете загрузить файл с помощью режима Вставка на шаге базовой формы или многошаговой формы.
Код Liquid
Язык Liquid — это язык шаблонов с открытым исходным кодом, исходно встроенный в порталы Microsoft Power Apps. Разработчики могут извлекать значения столбцов файлов, когда они запрашивают данные с помощью языка fetchXML и представления сущности.
{% for item in tables.results.entities %}
{{ item.columnname.Name }}
{{ item.columnname.Size }}
{{ item.columnname.Url }}
{% endfor %}
Атрибут | Description |
---|---|
Имя. | Имя файла, связанного со столбцом |
Size | Размер файла, в байтах |
URL | URL-адрес для загрузки файла |
Пример: получение данных столбца файла из таблицы контактов
Создайте новый столбец типа данных файла в Dataverse для таблицы контактов с именем myfileattribute.
Примечание
Убедитесь, что вы настроили соответствующее разрешение для таблицы контактов для чтения записи.
{% 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
Можно использовать веб-API порталов для выполнения операций создания, чтения, обновления и удаления в столбцах файлов во всех таблицах Dataverse.
Примечание
Убедитесь, что вы настроили соответствующий настройки сайта веб-API для таблиц и столбцов файлов, к которым вы хотите получить доступ.
Получение данных файлов
Чтобы получить данные файла, используйте запрос API, описанный в следующих примерах.
GET /_api/<entity-type>(id)/<file-attribute-name>/$value
Передача данных файла из конечных точек веб-службы ограничена максимальным объемом данных 16 МБ за один вызов службы. Данные файла, превышающие 16 МБ, должны быть разделены на блоки данных размером 4 МБ или меньше (фрагменты). Каждый блок принимается в отдельном вызове API до тех пор, пока не будут получены все данные файла. Вы несете ответственность за присоединение загруженных блоков данных для формирования полного файла данных путем объединения блоков данных в той же последовательности, в которой блоки были получены.
Пример: загрузка файла < 16 МБ
Запрос
HTTP
GET [Portal Url]/_api/accounts(62d53214-9dfa-eb11-94ee-0022482230a8)/myfileattribute/$value
Headers:
Content-Type: application/octet-stream
Отклик
204 No Content
Body:
Byte[ ]
Пример: загрузка файла > 16 МБ
Запросить
HTTP
GET [Portal Url]/_api/accounts(62d53214-9dfa-eb11-94ee-0022482230a8)/myfileattribute/$value
Headers:
Content-Type: application/octet-stream
Range: bytes=0-1023
Отклик
HTTP
204 No Content
Body:
Byte[ ]
Отправка даных файла
Чтобы отправить файл, установите значение столбца файла в массив байтов, который содержит содержимое файла.
PUT or PATCH /_api/<entity-type>(id)/<file-attribute-name>
Пример: отправка файла
Запросить
HTTP
PUT [Portal Url]/_api/accounts(62d53214-9dfa-eb11-94ee-0022482230a8)/myfileattribute
Headers:
Content-Type: application/octet-stream
Body :
Byte [ ]