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.

Animacja tabeli z polami Numer produktu, Nazwa produktu i Katalog produktów. Aby wypełnić pole Katalog produktów, użytkownik wybiera opcję Wybierz plik, a następnie przechodzi do pliku PDF, aby przesłać go i użyć w Katalogu produktów.

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