次の方法で共有


Power Pages で画像の列を構成する

画像列は、Microsoft Dataverse テーブルの列に画像ファイルを格納します。 フォームに画像列を追加して、画像をアップロード、表示、変更、および削除します。 利用可能な場合、フォームに画像のサムネイルが表示されます。

注意

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

画像 URL

画像 URL は、画像が保存されている場所の完全な URL を示します。 これは、開発とトラブルシューティングに使用できます。

画像の URL は次の形式を取ります:

{0}/Image/download.aspx?entity={1}&attribute={2}&id={3}

どこで:

  • {0} は Web サイトの URL です

  • {1} はエンティティの論理名です

  • {2} は列の論理名です

  • {3} は画像 ID です

たとえば、Web サイトが https://contososite.powerappsportals.com にある場合、コードは次のようになります:

https://contososite.powerappsportals.com/Image/download.aspx?entity=contact&attribute=entityimage&id=cb059a4a-b1a6-ec11-9840-00224829604e

Liquid

Liquid コード を使用して Web サイトを設計し、Dataverse テーブルからレコードを取得できます。 fetchXML とエンティティビューを使用して、次のように画像列の値を読み込みます:

    {% for item in tables.results.entities %}
        {{ item.columnname.Type }}
        {{ item.columnname.Size }}
        {{ item.columnname.Url }}
        {{ item.columnname.Value }}
    {% endfor %}

どこで:

  • タイプは画像の MIME タイプです

  • サイズはバイト単位の画像サイズです

  • は Base64 文字列としての画像値です

  • URL は画像の URL です

例: 既定の連絡先画像を取得する

    {% fetchxml contacts %}
        <fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
            <entity name="contact">
                <attribute name="fullname"/>
                <attribute name="entityimage"/>
            </entity>
        </fetch>
    {% endfetchxml %}

    {% for item in contacts.results.entities %}
        {
            "Full Name":"{{ item.fullname }}"
            "Entity Image Type":"{{ item.entityimage.Type}}",
            "Entity Image Size":"{{ item.entityimage.Size}}",
            "Entity Image Url":"{{ item.entityimage.Url}}",
            "Entity Image Value":"{{ item.entityimage.Value}}"
        }
    {% endfor %}

Web API

ポータルの Web API を使用して、Dataverse テーブル全体の画像列にの画像を作成、読み取り、更新、削除ができます。

画像データを取得する

サムネイル画像データをダウンロードするには、次の API 呼び出しを使用します:

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

Web サービスのエンドポイントから転送された画像データは、単一のサービス コールで最大 16 MB データに制限されています。

例: サムネイルのダウンロード

次の例では、サムネイルが存在する場合は GET 呼び出しを使用してダウンロードします。

HTTP 要求:

    GET [website url]/_api/accounts(62d53214-9dfa-eb11-94ee-0022482230a8)/entityimage/$value
    
    Headers:
    Content-Type: application/octet-stream

HTTP 応答:

    204 No Content
    
    Body:
    Byte[ ]

この例では、サムネイルが存在しないため画像は返されません。 サムネイルが存在する場合、応答は値を含むバイト配列を返します。

画像データをアップロードする

画像をアップロードするには、画像列の値に画像ファイルの内容を含むバイト配列を設定します:

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

例: 画像のアップロード

HTTP 要求:

    PUT [website url]/_api/accounts(62d53214-9dfa-eb11-94ee-0022482230a8)/entityimage

    Headers:
    Content-Type: application/octet-stream
    
    Body :
    Byte [ ]

プロフィール画像のアップロード

認証されたWeb サイト ユーザーは、Web サイトのプロフィール欄に画像をアップロードできます。 画像は、Dataverse の対応する取引先担当者レコードのエンティティ画像列に保存されます。 最大 10 MB までの画像をアップロードすることができます。

サイト設定の作成

まず、認証されたユーザーがプロフィール写真をアップロードできるようにサイト設定を作成する必要があります:

  1. ポータル管理アプリ を開きます

  2. Web サイト 配下で、サイト設定 を選択します。

  3. Profile/ShowImageという設定を作成し、値を true に設定します。 (設定が存在する場合、値を true にします。)

    Profile/ShowImage サイト設定のスクリーンショット。