Konfigurieren Sie eine Spalte für Dateien in Portalen

Hinweis

Ab 12. Oktober 2022 ist Power Apps-Portale Power Pages. Weitere Informationen: Microsoft Power Pages ist jetzt allgemein verfügbar (Blog)
Wir werden die in Kürze migrieren und die Dokumentation für Power Apps-Portale mit der Power Pages-Dokumentation zusammenführen.

Die Spalte Datei wird zum Speichern von Binärdaten verwendet. Diese Spalte wird hauptsächlich zum Speichern einer einzelnen Datei, Notiz oder eines Anhangs verwendet; Es ist jedoch möglich, andere Formen von Binärdaten zu speichern. Sie können eine Dateispalte in einfachen und mehrstufigen Formularen konfigurieren, um die Möglichkeit zu bieten, die Datei hochzuladen, anzuzeigen, zu ändern oder zu löschen. In der Dateispalte können Dateien bis zu dem festgelegten Maximum einer Microsoft Dataverse Tabellenspalte speichern.

Animation einer Tabelle mit Feldern für Produktnummer, Produktname und Produktkatalog. Um das Feld „Produktkatalog“ auszufüllen, wählt der Benutzer „Datei auswählen“ aus und navigiert dann zu einer PDF-Datei, die hochgeladen und für den Produktkatalog verwendet werden kann.

Wichtig

  • Sie können eine Datei nicht hochladen, indem Sie den Einfügen-Modus auf einem Basisformular oder einem Schritt für das mehrstufige Formular verwenden.

Flüssiger Code

Liquid ist eine Open Source Vorlagensprache, die nativ in Microsoft Power Apps Portale integriert ist. Entwickler können Dateispaltenwerte abrufen, wenn sie Daten mithilfe von fetchXML und Entitätsansicht abfragen.

{% for item in tables.results.entities %}
    {{ item.columnname.Name }}
    {{ item.columnname.Size }}
    {{ item.columnname.Url }}
{% endfor %}
Attribute Beschreibung des Dataflows
Name des Dataflows Der Name der Datei, die der Spalte zugewiesen ist
Size Dateigröße in Bytes
URL URL des Dateidownloads

Beispiel: Dateispaltendaten aus einer Kontakttabelle abrufen

Erstellen Sie eine neue Dateidatentypspalte in Dataverse für eine Kontakttabelle mit dem Namen myfileattribute.

Hinweis

Stellen Sie sicher, dass Sie die entsprechende Tabellenberechtigung für die Kontakttabelle konfiguriert haben, um den Datensatz zu lesen.

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

Internet-API

Die Portals-Web-API kann verwendet werden, um bei Dateispalten Vorgänge zum Erstellen, Lesen, Aktualisieren und Löschen über Dataverse-Tabellen hinweg vorzunehmen.

Hinweis

Stellen Sie sicher, dass Sie die entsprechende Web-API Seiteneinstellungen für die Tabellen und Dateispalten konfiguriert haben, auf die Sie zugreifen möchten.

Abrufen von Dateidaten

Verwenden Sie zum Abrufen von Dateidaten die in den folgenden Beispielen beschriebene API-Anforderung.

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

Dateidatenübertragungen von den Webdienstendpunkten sind auf maximal 16 MB an Daten in einem einmaligen Dienstaufruf begrenzt. Dateidaten, die 16 MB überschreiten, müssen in 4 MB oder kleinere Datenblöcke (Chunks) aufgeteilt werden. Jeder Block wird in einem separaten API-Aufruf empfangen, bis alle Dateidaten empfangen wurden. Es liegt in Ihrer Zuständigkeit, die heruntergeladenen Datenblöcke zu verknüpfen, um die Datendatei zu vervollständigen, indem Sie die Datenblöcke in der gleichen Reihenfolge kombinieren, wie sie empfangen wurden.

Beispiel: Datei herunterladen < 16 MB

Anfordern
HTTP
GET [Portal Url]/_api/accounts(62d53214-9dfa-eb11-94ee-0022482230a8)/myfileattribute/$value
Headers:
Content-Type: application/octet-stream
Antworten
204 No Content
Body:
Byte[ ]

Beispiel: Datei herunterladen > 16 MB

Anfordern
HTTP
GET [Portal Url]/_api/accounts(62d53214-9dfa-eb11-94ee-0022482230a8)/myfileattribute/$value
Headers:
Content-Type: application/octet-stream
Range: bytes=0-1023
Antworten
HTTP
204 No Content
Body:
Byte[ ]

Dateidaten hochladen

Um die Datei hochzuladen, legen Sie den Wert der Dateispalte auf ein Bytearray fest, das die Inhalte der Datei enthält.

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

Beispiel: Hochladen einer Datei

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