Konfigurowanie kolumny plików w portalach
Uwaga
12 października 2022 r. funkcja Portale usługi Power Apps została przekształcona w usługę Power Pages. Więcej informacji: Usługa Microsoft Power Pages jest teraz ogólnie dostępna (blog)
Wkrótce zmigrujemy i scalimy dokumentację funkcji Portale usługi Power Apps z dokumentacją usługi Power Pages.
Kolumna Plik służy do przechowywania danych binarnych. Ta kolumna jest przeznaczona głównie do przechowywania jednego pliku, notatki lub załącznika; Możliwe jest jednak przechowywanie innych formularzy danych binarnych. Kolumnę pliku można skonfigurować w formularzach podstawowych i obejmujących wiele kroków, co umożliwia przekazywanie, wyświetlanie, modyfikowanie i usuwanie pliku. Kolumna pliku może przechowywać pliki do określonego maksymalnego rozmiaru kolumny tabeli Microsoft Dataverse.
Ważne
- Nie można przekazać pliku, używając trybu Wstaw w formularzu podstawowym lub kroku formularza obejmującego wiele kroków.
Kod źródłowy
Liquid to język szablonów typu open source, który jest natywnie zintegrowany z portalami Microsoft Power Apps. Deweloperzy mogą pobierać wartości kolumn pliku podczas wykonywania zapytań o dane przy użyciu fetchXML i widoku encji.
{% for item in tables.results.entities %}
{{ item.columnname.Name }}
{{ item.columnname.Size }}
{{ item.columnname.Url }}
{% endfor %}
Atrybut | opis |
---|---|
Imię i nazwisko/nazwa | Nazwa pliku powiązanego z kolumną |
Size | Rozmiar pliku w bajtach |
URL | URL pobierania pliku |
Przykład: pobieranie danych kolumn z tabeli kontaktów
Utwórz nową kolumnę typu danych pliku w Dataverse dla tabeli kontaktów o nazwie myfileattribute.
Uwaga
Upewnij się, że masz skonfigurowane odpowiednie uprawnienia do odczytu rekordu w tabeli kontaktów.
{% 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 %}
Internetowy interfejs API
Portale API sieci Web portali może służyć do wykonywania, tworzenia, odczytu, aktualizowania i usuwania kolumn obrazów w tabelach Dataverse.
Uwaga
Upewnij się, że zostały skonfigurowane odpowiednie ustawienia witryny interfejsu API sieci Web dla tabel i kolumn plików, do których chcesz uzyskać dostęp.
Pobieranie danych pliku
Aby pobrać dane plików, należy użyć żądania interfejsu API opisanego w poniższych przykładach.
GET /_api/<entity-type>(id)/<file-attribute-name>/$value
Transfery danych plików z punktów końcowych usługi sieci Web są ograniczone do maksymalnie 16 MB danych w jednym wywołaniu usługi. Dane plików o rozmiarze ponad 16 MB muszą być podzielone na 4 MB lub mniejsze bloki danych (fragmenty). Każdy blok jest odbierany w oddzielnym wywołaniu API, dopóki nie zostaną odebrane wszystkie dane pliku. Twoim obowiązkiem jest połączenie pobranych bloków danych w kompletny plik danych poprzez połączenie bloków danych w tej samej kolejności, w jakiej bloki zostały odebrane.
Przykład: Pobieranie pliku < 16 MB
Zażądaj
HTTP
GET [Portal Url]/_api/accounts(62d53214-9dfa-eb11-94ee-0022482230a8)/myfileattribute/$value
Headers:
Content-Type: application/octet-stream
Odpowiedź
204 No Content
Body:
Byte[ ]
Przykład: Pobieranie pliku > 16 MB
Zażądaj
HTTP
GET [Portal Url]/_api/accounts(62d53214-9dfa-eb11-94ee-0022482230a8)/myfileattribute/$value
Headers:
Content-Type: application/octet-stream
Range: bytes=0-1023
Odpowiedź
HTTP
204 No Content
Body:
Byte[ ]
Prześlij dane pliku
Aby przesłać plik, ustaw wartość kolumny pliku na tablicę bajtów, która zawiera zawartość pliku.
PUT or PATCH /_api/<entity-type>(id)/<file-attribute-name>
Przykład: Przekazanie pliku
Zażądaj
HTTP
PUT [Portal Url]/_api/accounts(62d53214-9dfa-eb11-94ee-0022482230a8)/myfileattribute
Headers:
Content-Type: application/octet-stream
Body :
Byte [ ]