次の方法で共有


ポータルにファイル列を構成する

注意

2022 年 10 月 12 日より、Power Apps ポータルは Power Pages となります。 詳細: Microsoft Power Pages の一般提供が開始されました (ブログ)
Power Apps ポータルのドキュメントは、近日中に Power Pages ドキュメントに移行、統合されます。

ファイル 列は、バイナリ データの格納に使用されます。 この列は主に 1 つのファイル、ノート、添付ファイルを格納するために使用されるが、他の形式のバイナリ データを格納することも可能です。 基本およびマルチステップ フォームにファイル列を構成して、ファイルをアップロード、表示、変更、または削除する機能を提供できます。 ファイル列は、Microsoft Dataverse テーブル列の指定された最大サイズまでファイルを格納することができます。

製品番号、製品名、および製品カタログのフィールドを含むテーブルのアニメーション。[製品カタログ] フィールドにデータを入力するには、[ファイルの選択] を選択し、PDF ファイルを参照してアップロードし、製品カタログに使用します。

重要

  • 基本またはマルチステップ フォーム ステップで 挿入 モードを使用して、ファイルをアップロードすることはできません。

Liquid コード

Liquid は、Microsoft Power Apps ポータルにネイティブに統合されているオープン ソースのテンプレート言語 です。 開発者は fetchXML とエンティティ ビューを使用することで、データを照会する際にファイル列の値を取得することができます。

{% for item in tables.results.entities %}
    {{ item.columnname.Name }}
    {{ item.columnname.Size }}
    {{ item.columnname.Url }}
{% endfor %}
Attribute 説明設定
件名 列ジョブに関連付けられたファイルの名前
規模 ファイル サイズ (バイト数)
[URL] ファイルをダウンロードする URL

例: contact テーブルからファイル列のデータを取得する

Dataverse の contact テーブルに、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 %}

Web API

ポータル Web API を使用して、Dataverse テーブルのファイル列に対して、作成、読み取り、更新、削除の操作を行うことができます。

注意

アクセスするテーブルとファイル列に対して、適切な Web API のサイトの設定がされていることを確認してください。

ファイル データの取得

ファイル データを取得するには、次の例で説明されているAPI要求を使用します。

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

Web サービスのエンドポイントからのファイル データ転送は、単一のサービス コールで最大16 MB のデータに制限されています。 16 MBを超えるファイル データは、4 MB以下のデータ ブロック (チャンク) に分割する必要があります。 すべてのファイル データが受信されるまで、各ブロックは個別の API 呼び出しで受信されます。 ダウンロードしたデータ ブロックを結合して、ブロックを受信したのと同じ順序でデータ ブロックを結合して完全なデータ ファイルを形成するのは、ユーザーの責任です。

例: ファイルのダウンロード < 16 MB

要求
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 MB

要求
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>

例: ファイルのアップロード

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