Power Pages でファイル列を構成する
ファイル 列は、バイナリ データの格納に使用されます。 この列は主に 1 つのファイル、ノート、添付ファイルを格納するために使用されるが、他の形式のバイナリ データを格納することも可能です。 基本およびマルチステップ フォームにファイル列を構成して、ファイルをアップロード、表示、変更、または削除する機能を提供できます。 ファイル列は、Microsoft Dataverse テーブル列の指定された最大サイズまでファイルを格納することができます。
重要
- 基本またはマルチステップ フォーム ステップで 挿入 モードを使用して、ファイルをアップロードすることはできません。
Liquid コード
Liquid は、Microsoft Power Pages にネイティブに統合されたオープンソースのテンプレート言語です。 開発者は 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 [ ]